]> granicus.if.org Git - p11-kit/commitdiff
asn1: In p11_asn1_read() allocate an extra null terminator
authorStef Walter <stef@thewalter.net>
Mon, 8 Jul 2013 14:30:52 +0000 (16:30 +0200)
committerStef Walter <stef@thewalter.net>
Mon, 8 Jul 2013 14:30:52 +0000 (16:30 +0200)
As a courtesy for callers.

trust/asn1.c

index fcd8e1c20c1c56a2d8cf81d96606046079997aef..653d81635b0a7e92841d864b9fd68ad2d722c529 100644 (file)
@@ -197,7 +197,7 @@ p11_asn1_read (node_asn *asn,
                const char *field,
                size_t *length)
 {
-       void *value;
+       unsigned char *value;
        int len;
        int ret;
 
@@ -212,12 +212,15 @@ p11_asn1_read (node_asn *asn,
 
        return_val_if_fail (ret == ASN1_MEM_ERROR, NULL);
 
-       value = malloc (len);
+       value = malloc (len + 1);
        return_val_if_fail (value != NULL, NULL);
 
        ret = asn1_read_value (asn, field, value, &len);
        return_val_if_fail (ret == ASN1_SUCCESS, NULL);
 
+       /* Courtesy zero terminated */
+       value[len] = '\0';
+
        *length = len;
        return value;
 }