ldap VLV: memdup, not strdup VLV context_id
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Tue, 22 Dec 2015 04:10:14 +0000 (17:10 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 9 Mar 2016 09:32:16 +0000 (10:32 +0100)
The context ID is not a text string, it is an opaque binary field.

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>
source4/libcli/ldap/ldap_controls.c

index 6a4af70d88484f485074f9967d5c5da758619a58..0a23cc79a4716c9265ed27e6c5c772e45c122f19 100644 (file)
@@ -675,7 +675,7 @@ static bool decode_vlv_response(void *mem_ctx, DATA_BLOB in, void *_out)
                if (!asn1_read_OctetString(data, mem_ctx, &context_id)) {
                        return false;
                }
-               lvrc->contextId = talloc_strndup(lvrc, (const char *)context_id.data, context_id.length);
+               lvrc->contextId = talloc_memdup(lvrc, (const char *)context_id.data, context_id.length);
                if (!lvrc->contextId) {
                        return false;
                }