Skip to content

Commit

Permalink
Fix GCC v14 [-Wanalyzer-null-dereference] warnings in Kerberos (#1983)
Browse files Browse the repository at this point in the history
    src/acl/external/kerberos_ldap_group/support_sasl.cc:190:17: error:
    dereference of NULL 'defs' [CWE-476] [-Wanalyzer-null-dereference]

    src/auth/negotiate/kerberos/negotiate_kerberos_pac.cc:235:19: error:
    dereference of NULL 'Rids' [CWE-476] [-Wanalyzer-null-dereference]
  • Loading branch information
huaraz authored and squidadm committed Jan 19, 2025
1 parent 8002431 commit aba0ca7
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 10 deletions.
20 changes: 10 additions & 10 deletions src/acl/external/kerberos_ldap_group/support_sasl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -202,16 +202,16 @@ void
lutil_sasl_freedefs(
void *defaults)
{
lutilSASLdefaults *defs = (lutilSASLdefaults *) defaults;

xfree(defs->mech);
xfree(defs->realm);
xfree(defs->authcid);
xfree(defs->passwd);
xfree(defs->authzid);
xfree(defs->resps);

xfree(defs);
if (const auto defs = static_cast<lutilSASLdefaults*>(defaults)) {
xfree(defs->mech);
xfree(defs->realm);
xfree(defs->authcid);
xfree(defs->passwd);
xfree(defs->authzid);
xfree(defs->resps);

xfree(defs);
}
}

int
Expand Down
6 changes: 6 additions & 0 deletions src/auth/negotiate/kerberos/negotiate_kerberos_pac.cc
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,12 @@ getdomaingids(char *ad_groups, uint32_t DomainLogonId, char **Rids, uint32_t Gro
return nullptr;
}

if (!Rids) {
debug((char *) "%s| %s: ERR: Invalid RIDS list\n",
LogTime(), PROGRAM);
return nullptr;
}

if (DomainLogonId!= 0) {
uint8_t rev;
uint64_t idauth;
Expand Down

0 comments on commit aba0ca7

Please sign in to comment.