]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
alloc-util: extra paranoid overflow check
authorLennart Poettering <lennart@poettering.net>
Wed, 20 Mar 2019 09:30:31 +0000 (10:30 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 20 Mar 2019 09:48:33 +0000 (10:48 +0100)
src/basic/alloc-util.c

index b28fb95ccfdf60b1a68e190c04bef74ead8e7efc..15b67665d260e8b29d4d7989bc3520b57df712b9 100644 (file)
@@ -27,6 +27,9 @@ void* memdup_suffix0(const void *p, size_t l) {
 
         /* The same as memdup() but place a safety NUL byte after the allocated memory */
 
+        if (_unlikely_(l == SIZE_MAX)) /* prevent overflow */
+                return NULL;
+
         ret = malloc(l + 1);
         if (!ret)
                 return NULL;