diff --git a/lib/decoding.c b/lib/decoding.c
index e687508..d57aa93 100644
--- a/lib/decoding.c
+++ b/lib/decoding.c
@@ -2144,9 +2144,12 @@
 
 static int append(uint8_t **dst, unsigned *dst_size, const unsigned char *src, unsigned src_size)
 {
+  if (src_size == 0)
+    return ASN1_SUCCESS;
+
   *dst = _asn1_realloc(*dst, *dst_size+src_size);
   if (*dst == NULL)
-    return ASN1_MEM_ERROR;
+    return ASN1_MEM_ALLOC_ERROR;
   memcpy(*dst + *dst_size, src, src_size);
   *dst_size += src_size;
   return ASN1_SUCCESS;
@@ -2278,14 +2281,11 @@
 
           DECR_LEN(der_len, 2); /* we need the EOC */
 
-	  if (out_len > 0)
-	    {
-              result = append(&total, &total_size, out, out_len);
-              if (result != ASN1_SUCCESS)
-                {
-                  warn();
-                  goto cleanup;
-                }
+          result = append(&total, &total_size, out, out_len);
+          if (result != ASN1_SUCCESS)
+            {
+              warn();
+              goto cleanup;
 	    }
 
           free(out);
@@ -2331,6 +2331,13 @@
           goto cleanup;
         }
 
+      if (out_len == 0)
+        {
+          warn();
+          result = ASN1_DER_ERROR;
+          goto cleanup;
+        }
+
       result = append(&total, &total_size, cout, out_len);
       if (result != ASN1_SUCCESS)
         {
