[rsync] memory leak in 2.5.5

Lars J. Buitinck lars at fwn.rug.nl
Tue Jul 9 12:37:08 EST 2002

there is a memory leak in set_compression(), token.c:

	dont = strdup(dont);
	fname = strdup(fname);
	if (!dont || !fname) return;

if strdup(fname) fails but strdup(dont) doesn't, the memory pointed to 
by dont is leaked, and vice versa.  this may not be much but I believe 
one of set_compression()'s ancestors is invoked inside a loop when in 
server mode.  correct would be:

	if ((dont = strdup(dont)) == NULL
	 || (fname= strdup(fname))== NULL)

ps.: I'm not on this list.

If I traveled to the end of the rainbow
As Dame Fortune did intend,
Murphy would be there to tell me
The pot's at the other end.


More information about the rsync mailing list