Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/usr.sbin/envstat
On Dec 13, 2012, at 4:30 PM, John Nemeth wrote:
> On Mar 31, 12:00am, Paul Goyette wrote:
> }
> } > Module Name: src
> } > Committed By: christos
> } > Date: Thu Dec 13 19:31:25 UTC 2012
> } >
> } > Modified Files:
> } > src/usr.sbin/envstat: envstat.c
> }
> } > Log Message:
> } > PR/47316: Henning Petersen: Memory leak in envstat with config file.
> }
> } While we're making sure to free() things, should we not also defend
> } against memory leaks in the case where an option is used more than once?
> }
> } RCS file: /cvsroot/src/usr.sbin/envstat/envstat.c,v
> } retrieving revision 1.92
> } diff -u -p -r1.92 envstat.c
> } --- envstat.c 13 Dec 2012 19:31:25 -0000 1.92
> } +++ envstat.c 13 Dec 2012 19:47:44 -0000
> } @@ -132,6 +132,7 @@ int main(int argc, char **argv)
> } while ((c = getopt(argc, argv, "c:Dd:fIi:klrSs:Tw:Wx")) != -1) {
> } switch (c) {
> } case 'c': /* configuration file */
> } + free(configfile);
> } configfile = strdup(optarg);
> } if (configfile == NULL)
> } err(EXIT_FAILURE, "strdup");
>
> If you're going to be this paranoid, you should make sure that
> you're not passing NULL to free(3). That can blow up on some systems.
> Anyways, I see that Christos has already fixed this in a different way,
> so it doesn't really matter.
free(NULL); has been required to be a nop since c89.
Warner
Home |
Main Index |
Thread Index |
Old Index