Merge branch 'jk/help-plug-memleak'

Plug a few trivial memory leaks.

* jk/help-plug-memleak:
  help.c::exclude_cmds(): plug a leak
  help.c::uniq: plug a leak
maint
Junio C Hamano 2012-07-27 21:16:45 -07:00
commit 3b0553c3fc
1 changed files with 9 additions and 5 deletions

14
help.c
View File

@ -44,9 +44,12 @@ static void uniq(struct cmdnames *cmds)
if (!cmds->cnt) if (!cmds->cnt)
return; return;


for (i = j = 1; i < cmds->cnt; i++) for (i = j = 1; i < cmds->cnt; i++) {
if (strcmp(cmds->names[i]->name, cmds->names[i-1]->name)) if (!strcmp(cmds->names[i]->name, cmds->names[j-1]->name))
free(cmds->names[i]);
else
cmds->names[j++] = cmds->names[i]; cmds->names[j++] = cmds->names[i];
}


cmds->cnt = j; cmds->cnt = j;
} }
@ -61,9 +64,10 @@ void exclude_cmds(struct cmdnames *cmds, struct cmdnames *excludes)
cmp = strcmp(cmds->names[ci]->name, excludes->names[ei]->name); cmp = strcmp(cmds->names[ci]->name, excludes->names[ei]->name);
if (cmp < 0) if (cmp < 0)
cmds->names[cj++] = cmds->names[ci++]; cmds->names[cj++] = cmds->names[ci++];
else if (cmp == 0) else if (cmp == 0) {
ci++, ei++; ei++;
else if (cmp > 0) free(cmds->names[ci++]);
} else if (cmp > 0)
ei++; ei++;
} }