]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
escape: teach octescape() to work with NUL terminated strings
authorLennart Poettering <lennart@poettering.net>
Fri, 1 Mar 2024 22:36:15 +0000 (23:36 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 5 Mar 2024 14:46:31 +0000 (15:46 +0100)
src/basic/escape.c

index d95f35e79807ff470c808837996bc702179205be..e7f90a45946b4fcf25433d9574da574a725b3357 100644 (file)
@@ -451,6 +451,12 @@ char* octescape(const char *s, size_t len) {
 
         assert(s || len == 0);
 
+        if (len == SIZE_MAX)
+                len = strlen(s);
+
+        if (len > (SIZE_MAX)-1/4)
+                return NULL;
+
         t = buf = new(char, len * 4 + 1);
         if (!buf)
                 return NULL;