util: another set of CVE-2021-4034 assert()s
authorLennart Poettering <lennart@poettering.net>
Tue, 1 Feb 2022 11:06:21 +0000 (12:06 +0100)
committerLuca Boccassi <bluca@debian.org>
Tue, 15 Feb 2022 01:13:47 +0000 (01:13 +0000)
It's a good idea that we validate argc/argv when we are supposed to
store them away.

(cherry picked from commit 007e03b284e8ffc0b92edb2122cd9d2d16f049ef)
(cherry picked from commit dcba78244e5dc3a4b57fb978a2d21640164c89a2)

src/basic/util.h

index b6c51c036eb89c85e6aaffff541635beb0dba2c7..22fcef719fd2530e242df587493d5de406db7a9f 100644 (file)
@@ -9,6 +9,12 @@ extern int saved_argc;
 extern char **saved_argv;
 
 static inline void save_argc_argv(int argc, char **argv) {
+
+        /* Protect against CVE-2021-4034 style attacks */
+        assert_se(argc > 0);
+        assert_se(argv);
+        assert_se(argv[0]);
+
         saved_argc = argc;
         saved_argv = argv;
 }