Am 17.05.2011 07:54, schrieb Jeff King: > On Mon, May 16, 2011 at 09:57:58PM +0200, Johannes Sixt wrote: >> In my implementation, I xmalloced the pointer array and leaked it. I noticed that it actually isn't leaked because finish_connect() frees it. For this reason, I actually have to wonder why your version that stored a pointer to automatic storage in ->argv worked. > We also need to worry about the contents of each argv[] element, no? So > we should be xstrdup()ing the host and port, which point into some > string which gets passed to us. I didn't trace its provenance but I > think it is better to be defensive. I would not worry too much today. Of course, functions other than start_command() might begin to access ->argv[i] with i > 0 later, but then we have to audit all users of struct child_process anyway. Currently, only start_command() uses these values, which is always called at a time when they are still valid. -- Hannes -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html