X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fjournal%2Fcatalog.c;fp=src%2Fjournal%2Fcatalog.c;h=e3a3354ab7ffdc3003c71ffeb08e888857c9dae5;hb=4b8268f843b0da1cfe1995d93a0b1f95faccc454;hp=2be81aa2f7db37940f810150a745ad87ac5bd0d9;hpb=2cfbd749af308bdbe56edcfed7f3eea0fc2b93d2;p=elogind.git diff --git a/src/journal/catalog.c b/src/journal/catalog.c index 2be81aa2f..e3a3354ab 100644 --- a/src/journal/catalog.c +++ b/src/journal/catalog.c @@ -150,10 +150,10 @@ int catalog_file_lang(const char* filename, char **lang) { return 0; beg = end - 1; - while (beg > filename && *beg != '.') + while (beg > filename && *beg != '.' && *beg != '/' && end - beg < 32) beg --; - if (beg <= filename || end <= beg + 1 || end - beg > 32) + if (*beg != '.' || end <= beg + 1) return 0; _lang = strndup(beg + 1, end - beg - 1);