[distcc] 2 coding errors
Michael Donohue
michael.donohue at gmail.com
Tue Feb 21 23:46:25 GMT 2006
There's an error in the function dcc_free_argv. The call to free(a) should
really be free(*a), since the former is calling free on the array itself,
instead of the memory allocated.
The short function is below:
void dcc_free_argv(char **argv)
{
char **a;
for (a = argv; *a != NULL; a++)
free(a); // should be free(*a);
free(argv);
}
Eclipse's CDT reported this one, and it is a bug:
the loop increment logic is incorrect for dcc_argv_search, as "a = a++" is
undefined. It should just be "a++"
int dcc_argv_search(char **a,
const char *needle)
{
for (; *a; a = a++) // should be a++
if (!strcmp(*a, needle))
return 1;
return 0;
}
Both functions are in argutil.c
-Michael
-------------- next part --------------
HTML attachment scrubbed and removed
More information about the distcc
mailing list