asn1: make readContextSimple() add a NUL byte
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Sun, 10 Jan 2016 22:36:07 +0000 (11:36 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 9 Mar 2016 09:32:16 +0000 (10:32 +0100)
Pair-programmed-with: Garming Sam <garming@catalyst.net.nz>
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
lib/util/asn1.c

index d81e50fd9be3bbb1c5fddbd4491d1b8e04da1dec..d3b46aac857155f729d542d8ff8bef57a8ead97b 100644 (file)
@@ -938,12 +938,14 @@ bool asn1_read_ContextSimple(struct asn1_data *data, TALLOC_CTX *mem_ctx, uint8_
                data->has_error = true;
                return false;
        }
-       *blob = data_blob_talloc(mem_ctx, NULL, len);
+       *blob = data_blob_talloc(mem_ctx, NULL, len + 1);
        if ((len != 0) && (!blob->data)) {
                data->has_error = true;
                return false;
        }
        if (!asn1_read(data, blob->data, len)) return false;
+       blob->length--;
+       blob->data[len] = 0;
        return asn1_end_tag(data);
 }