summaryrefslogtreecommitdiff
path: root/src/locale/localectl.c
diff options
context:
space:
mode:
authorMichal Sekletar <msekleta@redhat.com>2012-10-26 14:15:00 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2012-10-28 02:14:40 +0200
commit2f7a4867babd3fd382e5495f21724358f30fa67d (patch)
treec21bc3b0ba6bb8f8a499b2b2cd3620f0a18cf9e1 /src/locale/localectl.c
parent4a207bb2a5eca181209ca273c76e32bcc90c99c8 (diff)
localectl: fix memleak, jump to finish before returning
Diffstat (limited to 'src/locale/localectl.c')
-rw-r--r--src/locale/localectl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/locale/localectl.c b/src/locale/localectl.c
index c05eba0d3e..84feb25d52 100644
--- a/src/locale/localectl.c
+++ b/src/locale/localectl.c
@@ -354,7 +354,8 @@ static int list_locales(DBusConnection *bus, char **args, unsigned n) {
h->locrectab_offset + h->locrectab_size > st.st_size ||
h->sumhash_offset + h->sumhash_size > st.st_size) {
log_error("Invalid archive file.");
- return -EBADMSG;
+ r = -EBADMSG;
+ goto finish;
}
e = (const struct namehashent*) ((const uint8_t*) p + h->namehash_offset);