forked from osmocom/wireshark
epan DTD parser: don't leak the full path string on error.
While we're at it, fix a return - the return value is a pointer, with NULL meaning error, not a Boolean, with FALSE meaning error, so return NULL, not FALSE. Change-Id: Ie77fe2c6173293a2a202ad29a6c5033e2a401aa7 Ping-Bug: 16335 Reviewed-on: https://code.wireshark.org/review/37033 Petri-Dish: Guy Harris <gharris@sonic.net> Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris <gharris@sonic.net>
This commit is contained in:
parent
4067652c86
commit
3618aa2cc6
|
@ -259,7 +259,7 @@ extern GString* dtd_preparse(const gchar* dname,const gchar* fname, GString* er
|
||||||
if (!in) {
|
if (!in) {
|
||||||
if (err)
|
if (err)
|
||||||
g_string_append_printf(err, "Could not open file: '%s', error: %s",fullname,g_strerror(errno));
|
g_string_append_printf(err, "Could not open file: '%s', error: %s",fullname,g_strerror(errno));
|
||||||
|
g_free(fullname);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -268,7 +268,8 @@ extern GString* dtd_preparse(const gchar* dname,const gchar* fname, GString* er
|
||||||
g_string_append_printf(err, "Can't initialize scanner: %s",
|
g_string_append_printf(err, "Can't initialize scanner: %s",
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
fclose(in);
|
fclose(in);
|
||||||
return FALSE;
|
g_free(fullname);
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
Dtd_PreParse_set_in(in, scanner);
|
Dtd_PreParse_set_in(in, scanner);
|
||||||
|
|
Loading…
Reference in New Issue