Skip to content

Commit

Permalink
dhcp: Remove unused attribute allocation
Browse files Browse the repository at this point in the history
Remove unused and unfreed unknown attribute allocation to prevent memory
leak. Coverity has reported the following error for this issue.

Error: RESOURCE_LEAK (CWE-772):
freeradius-server-3.0.4rc2/src/modules/proto_dhcp/dhcp.c:956: alloc_fn: Storage is returned from allocation function "dict_attrunknown(unsigned int, unsigned int, int)".
freeradius-server-3.0.4rc2/src/lib/dict.c:2666:2: alloc_fn: Storage is returned from allocation function "malloc(size_t)".
freeradius-server-3.0.4rc2/src/lib/dict.c:2666:2: var_assign: Assigning: "da" = "malloc(148UL)".
freeradius-server-3.0.4rc2/src/lib/dict.c:2671:2: noescape: Resource "da" is not freed or pointed-to in function "memset(void *, int, size_t)".
freeradius-server-3.0.4rc2/src/lib/dict.c:2687:2: var_assign: Assigning: "p" = "da".
freeradius-server-3.0.4rc2/src/lib/dict.c:2689:2: noescape: Resource "p" is not freed or pointed-to in function "snprintf(char * restrict, size_t, char const * restrict, ...)".
freeradius-server-3.0.4rc2/src/lib/dict.c:2712:3: noescape: Resource "p" is not freed or pointed-to in function "snprintf(char * restrict, size_t, char const * restrict, ...)".
freeradius-server-3.0.4rc2/src/lib/dict.c:2718:2: noescape: Resource "p" is not freed or pointed-to in function "print_attr_oid(char *, size_t, unsigned int, int)".
freeradius-server-3.0.4rc2/src/lib/dict.c:2546:36: noescape: "print_attr_oid(char *, size_t, unsigned int, int)" does not free or save its pointer parameter "buffer".
freeradius-server-3.0.4rc2/src/lib/dict.c:2720:2: return_alloc: Returning allocated memory "da".
freeradius-server-3.0.4rc2/src/modules/proto_dhcp/dhcp.c:956: var_assign: Assigning: "da" = storage returned from "dict_attrunknown(p[0], 54U, 1)".
freeradius-server-3.0.4rc2/src/modules/proto_dhcp/dhcp.c:991: leaked_storage: Variable "da" going out of scope leaks the storage it points to.
  • Loading branch information
spbnick authored and alandekok committed Sep 9, 2014
1 parent c2a3e98 commit b2576a4
Showing 1 changed file with 0 additions and 5 deletions.
5 changes: 0 additions & 5 deletions src/modules/proto_dhcp/dhcp.c
Expand Up @@ -953,11 +953,6 @@ ssize_t fr_dhcp_decode_options(VALUE_PAIR **out, TALLOC_CTX *ctx, uint8_t const

da = dict_attrbyvalue(p[0], DHCP_MAGIC_VENDOR);
if (!da) {
da = dict_attrunknown(p[0], DHCP_MAGIC_VENDOR, true);
if (!da) {
pairfree(out);
return -1;
}
goto next;
}

Expand Down

0 comments on commit b2576a4

Please sign in to comment.