cleaned up a bit _asn1_remove_node().
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Sat, 10 May 2014 11:53:01 +0000 (13:53 +0200)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Sat, 10 May 2014 11:53:01 +0000 (13:53 +0200)
lib/parser_aux.c

index 6b34512..31d1770 100644 (file)
@@ -458,12 +458,16 @@ _asn1_remove_node (asn1_node node, unsigned int flags)
   if (node == NULL)
     return;
 
-  if (flags & ASN1_DELETE_FLAG_ZEROIZE && node->value) {
-    safe_memset(node->value, 0, node->value_len);
-  }
+  if (node->value != NULL)
+    {
+      if (flags & ASN1_DELETE_FLAG_ZEROIZE)
+        {
+          safe_memset(node->value, 0, node->value_len);
+        }
 
-  if (node->value != NULL && node->value != node->small_value)
-    free (node->value);
+      if (node->value != node->small_value)
+        free (node->value);
+    }
   free (node);
 }