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

Reply via email to