summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
1728c01)
`otherbuf' should still be freed even if the RegEnumKey function
that was supposed to fill it with data failed. While I'm at it, also
remove the redundant check for its non-NULL-ness (what's the point
of having a malloc wrapper that dies rather than return NULL if you
then waste effort checking its return value for NULL _anyway_, eh?).
git-svn-id: svn://svn.tartarus.org/sgt/putty@2217
cda61777-01e9-0310-a592-
d414129be87e
struct enumsettings *e = (struct enumsettings *) handle;
char *otherbuf;
otherbuf = smalloc(3 * buflen);
struct enumsettings *e = (struct enumsettings *) handle;
char *otherbuf;
otherbuf = smalloc(3 * buflen);
- if (otherbuf && RegEnumKey(e->key, e->i++, otherbuf,
- 3 * buflen) == ERROR_SUCCESS) {
+ if (RegEnumKey(e->key, e->i++, otherbuf, 3 * buflen) == ERROR_SUCCESS) {
unmungestr(otherbuf, buffer, buflen);
sfree(otherbuf);
return buffer;
unmungestr(otherbuf, buffer, buflen);
sfree(otherbuf);
return buffer;
+ } else {
+ sfree(otherbuf);
}
void enum_settings_finish(void *handle)
}
void enum_settings_finish(void *handle)