Skip to content

Commit 32cf564

Browse files
committed
Fix a memory corruption / double free in unlbl_list()
1 parent 172d66c commit 32cf564

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

netlabelctl/unlabeled.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,12 +102,11 @@ int unlbl_list(void)
102102
count = ret_val;
103103
ret_val = nlbl_unlbl_staticlistdef(NULL, &addrdef_p);
104104
if (ret_val > 0) {
105-
count += ret_val;
106-
addr_p = realloc(addr_p, sizeof(struct nlbl_addrmap) * count);
105+
addr_p = realloc(addr_p, sizeof(*addr_p) * (count + ret_val));
107106
if (addr_p == NULL)
108107
goto list_return;
109-
memcpy(&addr_p[count], addrdef_p,
110-
sizeof(struct nlbl_addrmap) * ret_val);
108+
memcpy(&addr_p[count], addrdef_p, sizeof(*addr_p) * ret_val);
109+
count += ret_val;
111110
}
112111

113112
/* display the static label mappings */

0 commit comments

Comments
 (0)