Ok, I just tried freeing NULL, and it did nothing. Granted it was on a Linux system but still...
I stand by my argument that there's no clear improvement, especially on a modern system. On Mon, Dec 31, 2012 at 4:50 PM, Aaron Mason <[email protected]> wrote: > Maxime > > I'm not entirely clear on what you hoped to achieve with the diffs > below, if anything you're inducing possible segfaults if any of those > values are NULL. That aside, I fail to see how this could be > construed as any sort of improvement. > >> Index: pfctl_osfp.c >> =================================================================== >> RCS file: /cvs/src/sbin/pfctl/pfctl_osfp.c,v >> retrieving revision 1.18 >> diff -u -r1.18 pfctl_osfp.c >> --- pfctl_osfp.c 18 Oct 2010 15:55:28 -0000 1.18 >> +++ pfctl_osfp.c 22 Dec 2012 07:08:28 -0000 >> @@ -112,16 +112,11 @@ >> >> while ((line = fgetln(in, &len)) != NULL) { >> lineno++; >> - if (class) >> - free(class); >> - if (version) >> - free(version); >> - if (subtype) >> - free(subtype); >> - if (desc) >> - free(desc); >> - if (tcpopts) >> - free(tcpopts); >> + free(class); >> + free(version); >> + free(subtype); >> + free(desc); >> + free(tcpopts); >> class = version = subtype = desc = tcpopts = NULL; >> memset(&fp, 0, sizeof(fp)); >> >> @@ -250,16 +245,11 @@ >> add_fingerprint(dev, opts, &fp); >> } >> >> - if (class) >> - free(class); >> - if (version) >> - free(version); >> - if (subtype) >> - free(subtype); >> - if (desc) >> - free(desc); >> - if (tcpopts) >> - free(tcpopts); >> + free(class); >> + free(version); >> + free(subtype); >> + free(desc); >> + free(tcpopts); >> >> fclose(in); >> >> @@ -513,7 +503,7 @@ >> return (buf); >> >> found: >> - snprintf(buf, len, "%s", class_name); >> + strlcpy(buf, class_name, len); >> if (version_name) { >> strlcat(buf, " ", len); >> strlcat(buf, version_name, len); >> Index: pfctl_radix.c >> =================================================================== >> RCS file: /cvs/src/sbin/pfctl/pfctl_radix.c,v >> retrieving revision 1.29 >> diff -u -r1.29 pfctl_radix.c >> --- pfctl_radix.c 27 Jul 2011 00:26:10 -0000 1.29 >> +++ pfctl_radix.c 22 Dec 2012 07:08:28 -0000 >> @@ -499,8 +499,7 @@ >> { >> if (b == NULL) >> return; >> - if (b->pfrb_caddr != NULL) >> - free(b->pfrb_caddr); >> + free(b->pfrb_caddr); >> b->pfrb_caddr = NULL; >> b->pfrb_size = b->pfrb_msize = 0; >> } >> > > > > -- > Aaron Mason - Programmer, open source addict > I've taken my software vows - for beta or for worse -- Aaron Mason - Programmer, open source addict I've taken my software vows - for beta or for worse

