X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;ds=sidebyside;f=src%2Fgetdata.c;h=c57d2c73813533f6691962fbc9d6c30e60edc807;hb=5cbe8d07fb23db630e76d18022f20368312720ec;hp=fe513aeabef8058ba700eb62ddaef44e22436e54;hpb=171ff1d7045de1059556f674470aa87a853563f0;p=debian%2Fdhcpd-pools.git diff --git a/src/getdata.c b/src/getdata.c index fe513ae..c57d2c7 100644 --- a/src/getdata.c +++ b/src/getdata.c @@ -60,10 +60,10 @@ extern char *malloc(); int parse_leases(void) { FILE *dhcpd_leases; - char *line, *ipstring, *macstring; + char *line, *ipstring, *macstring = NULL; struct in_addr inp; struct stat lease_file_stats; - struct macaddr_t *macaddr_p; + struct macaddr_t *macaddr_p = NULL; unsigned long leasesmallocsize; unsigned long touchesmallocsize; unsigned long backupsmallocsize; @@ -163,6 +163,7 @@ int parse_leases(void) if (macaddr != NULL) { free(macstring); } + fclose(dhcpd_leases); return 0; } @@ -387,7 +388,7 @@ char *parse_config(int is_include, char *config_file, num_ranges++; if (RANGES < num_ranges) { errx(EXIT_FAILURE, - "parse_config: Range space full! Increase RANGES and recompile."); + "parse_config: increase default.h RANGES and recompile."); } newclause = true; break; @@ -426,8 +427,15 @@ char *parse_config(int is_include, char *config_file, * away by reallocationg * more space. */ errx(EXIT_FAILURE, - "parse_config: End of shared-network space, increase SHARED_NETWORKS_NAMES and recompile"); + "parse_config: increase default.h SHARED_NETWORKS_NAMES and recompile"); } + if (SHARED_NETWORKS < num_shared_networks) { + /* FIXME: make this go + * away by reallocationg + * more space. */ + errx(EXIT_FAILURE, + "parse_config: increase default.h SHARED_NETWORKS and recompile"); + } argument = 0; braces_shared = braces; break; @@ -452,5 +460,6 @@ char *parse_config(int is_include, char *config_file, } } free(word); + fclose(dhcpd_config); return next_free_shared_name; }