]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/journal/catalog.c
catalog: don't make catalog_entry_lang() clobber output params on failure
[thirdparty/systemd.git] / src / journal / catalog.c
index 4062f12c2dfc574eae5d602602d180f29d8e5252..abf725115c27f9ab14881a93e15c23754005eeec 100644 (file)
@@ -209,9 +209,15 @@ int catalog_file_lang(const char* filename, char **lang) {
         return 1;
 }
 
-static int catalog_entry_lang(const char* filename, int line,
-                              const char* t, const char* deflang, char **lang) {
+static int catalog_entry_lang(
+                const char* filename,
+                unsigned line,
+                const char* t,
+                const char* deflang,
+                char **ret) {
+
         size_t c;
+        char *z;
 
         c = strlen(t);
         if (c < 2)
@@ -233,10 +239,11 @@ static int catalog_entry_lang(const char* filename, int line,
                                     filename, line);
         }
 
-        *lang = strdup(t);
-        if (!*lang)
-                        return -ENOMEM;
+        z = strdup(t);
+        if (!z)
+                return -ENOMEM;
 
+        *ret = z;
         return 0;
 }