1
0
mirror of https://github.com/samba-team/samba.git synced 2025-10-08 07:33:19 +03:00

s4:kdc:sdb_to_hdb: Fix CID 1665466

Fix:
*** CID 1665466:         Resource leaks  (RESOURCE_LEAK)
/source4/kdc/sdb_to_hdb.c: 482             in sdb_entry_to_hdb_entry()
476     	}
477
478     	h->context = ske;
479     	if (ske != NULL) {
480     		ske->kdc_entry = h;
481     	}
>>>     CID 1665466:         Resource leaks  (RESOURCE_LEAK)
>>>     Variable "kt" going out of scope leaks the storage "kt.val" points to.
482     	return 0;
483     error:
484     	free_hdb_entry(h);
485     	return rc;

This is almost certainly a false positive as when kt.len == 0, kt.val will be
NULL. But changing the condition to kt.val != NULL, will not do any harm.

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Anoop C S <anoopcs@samba.org>

Autobuild-User(master): Anoop C S <anoopcs@samba.org>
Autobuild-Date(master): Thu Sep 25 07:13:28 UTC 2025 on atb-devel-224
This commit is contained in:
Gary Lockyer
2025-09-22 09:04:02 +12:00
committed by Anoop C S
parent e5b00b6511
commit b36c49e43e

View File

@@ -463,16 +463,16 @@ int sdb_entry_to_hdb_entry(krb5_context context,
if (rc != 0) {
goto error;
}
if (kt.len > 0) {
if (kt.val != NULL && kt.len != 0) {
HDB_extension ext = {};
ext.mandatory = FALSE;
ext.data.element = choice_HDB_extension_data_key_trust;
ext.data.u.key_trust = kt;
rc = hdb_replace_extension(context, h, &ext);
free_HDB_Ext_KeyTrust(&kt);
if (rc != 0) {
goto error;
}
}
free_HDB_Ext_KeyTrust(&kt);
if (rc != 0) {
goto error;
}
h->context = ske;