Re: [PATCH] Stop docproc segfaulting when SRCTREE isn't set.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ahmed S. Darwish wrote:
On Tue, Oct 09, 2007 at 08:55:00AM -0700, Randy Dunlap wrote:
On Tue, 9 Oct 2007 15:03:15 +0200 Ahmed S. Darwish wrote:

Hi Rob,

On Tue, Oct 09, 2007 at 01:25:18AM -0500, Rob Landley wrote:
[...]
 	FILE * infile;
+
+	srctree = getenv("SRCTREE");
+	if (!srctree) srctree = getcwd(NULL,0);
 	if (argc != 3) {
 		usage();
 		exit(1);
$ man getcwd

 char *getcwd(char *buf, size_t size);
As an extension to the POSIX.1 standard, Linux (libc4, libc5, glibc) getcwd() allocates the buffer dynamically using malloc() if buf is NULL on call.

Shouldn't "srctree" be free()ed in case getenv("SRCTREE") failed ?
What is there to free() at that point?  If getenv() fails (i.e.,
the env. variable is not found), it returns NULL.
or do I need another cup of coffee?


I meant if getenv() failed, "srctree = getcwd(NULL, 0)" will let "srctree" point to a _ malloc()ed _ buffer representing PWD. As said in the manpage, this buffer needs to be free()ed after usage.
Right or I'm the one who needs that cup of coffee :) ?

so it needs to be freed at program termination, is that what you are
saying?  That will happen automatically (along with any open files being
closed, etc.).

--
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux