Index: /trunk/src/VBox/Runtime/common/asn1/asn1-ut-core.cpp
===================================================================
--- /trunk/src/VBox/Runtime/common/asn1/asn1-ut-core.cpp	(revision 64895)
+++ /trunk/src/VBox/Runtime/common/asn1/asn1-ut-core.cpp	(revision 64896)
@@ -201,12 +201,16 @@
 {
     int rc = RTAsn1EncodeWriteHeader(pThisCore, fFlags, pfnWriter, pvUser, pErrInfo);
-    if (RT_SUCCESS(rc) && rc != VINF_ASN1_NOT_ENCODED)
+    if (   RT_SUCCESS(rc)
+        && rc != VINF_ASN1_NOT_ENCODED)
     {
         Assert(!RTASN1CORE_IS_DUMMY(pThisCore));
-        AssertPtrReturn(pThisCore->uData.pv,
-                        RTErrInfoSetF(pErrInfo, VERR_ASN1_INVALID_DATA_POINTER,
-                                      "Invalid uData pointer %p for lone ASN.1 core with %#x bytes of content",
-                                      pThisCore->uData.pv, pThisCore->cb));
-        rc = pfnWriter(pThisCore->uData.pv, pThisCore->cb, pvUser, pErrInfo);
+        if (pThisCore->cb)
+        {
+            AssertPtrReturn(pThisCore->uData.pv,
+                            RTErrInfoSetF(pErrInfo, VERR_ASN1_INVALID_DATA_POINTER,
+                                          "Invalid uData pointer %p for lone ASN.1 core with %#x bytes of content",
+                                          pThisCore->uData.pv, pThisCore->cb));
+            rc = pfnWriter(pThisCore->uData.pv, pThisCore->cb, pvUser, pErrInfo);
+        }
     }
     return rc;
