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