From 2484e379eeedb8060949b4092dfbc08e05e1a46b Mon Sep 17 00:00:00 2001 From: Jakob Olsson <jakobols@kth.se> Date: Mon, 11 Jun 2018 13:35:58 +0200 Subject: [PATCH] memory related fixes & adjustments --- dongle.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/dongle.c b/dongle.c index 9f77477..26bdf63 100644 --- a/dongle.c +++ b/dongle.c @@ -345,9 +345,11 @@ char *get_device_name(char *dir_name) while (!list_empty(&stack) && !name) { dr = pop(&stack); dir = opendir(dr->path); - if (!dir) + if (!dir) { + free(dr->path); + free(dr); continue; - + } push(dr, &visited); while ((de = readdir(dir)) != NULL) { @@ -531,13 +533,12 @@ char *get_device_ip(char *device_name) goto fail; } - route = (char *)malloc(1024); + route = (char *)calloc(1, 1024); if (!route) { - perror("malloc"); + perror("calloc"); goto fail_route; } - memset(route, 0, 1024); while ((fgets(route, 1024, fp)) != NULL) { remove_newline(route); @@ -559,9 +560,10 @@ char *get_device_ip(char *device_name) addr.s_addr = strtoul(destination, NULL, IPV4_MAX); inet_ntop(AF_INET, &(addr.s_addr), ipv4_addr, IPV4_MAX); - printf("ipv4_addr %s\n", ipv4_addr); + //printf("ipv4_addr %s\n", ipv4_addr); } + free(route); free(iface); free(destination); free(gateway); -- GitLab