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
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;