X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flocale%2Flocalectl.c;h=84feb25d521d0a6d612436b34a12dfc5f30f1e3b;hp=c05eba0d3edebfcdedbf1cc20d47230547ddae3b;hb=2f7a4867babd3fd382e5495f21724358f30fa67d;hpb=4a207bb2a5eca181209ca273c76e32bcc90c99c8 diff --git a/src/locale/localectl.c b/src/locale/localectl.c index c05eba0d3..84feb25d5 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);