Do not leak cur_ns in case of malformed lease file. Found by llvm's scan-build.
OK? diff --git frontend.c frontend.c index e70600ce3a1..e5d4c670bef 100644 --- frontend.c +++ frontend.c @@ -1018,6 +1018,7 @@ parse_dhcp_lease(int fd) if (strcmp(toks[1], "domain-name-servers") == 0) { if((p = strchr(toks[2], ';')) != NULL) { *p='\0'; + free(cur_ns); cur_ns = strdup(toks[2]); } } @@ -1041,11 +1042,16 @@ parse_dhcp_lease(int fd) if (epoch + lease_time > now ) { free(ns); ns = cur_ns; - } else /* expired lease */ + cur_ns = NULL; + } else { + /* expired lease */ free(cur_ns); + cur_ns = NULL; + } } } free(line); + free(cur_ns); if (ferror(f)) log_warn("getline"); -- I'm not entirely sure you are real.