8d419f
From 83845c85669084c4cd69fa8bfe60c57d36bb8713 Mon Sep 17 00:00:00 2001
8d419f
From: Frantisek Sumsal <frantisek@sumsal.cz>
8d419f
Date: Fri, 28 Jan 2022 21:44:32 +0100
8d419f
Subject: [PATCH] shared: be extra paranoid and check if argc > 0
8d419f
8d419f
and also if argv[0] is non-empty as a precaution for issues similar to
8d419f
CVE-2021-4034.
8d419f
8d419f
(cherry picked from commit 1637e757070a61b12b26a2a4ef547330562dc77f)
8d419f
8d419f
Related: #2017035
8d419f
---
8d419f
 src/shared/main-func.h | 1 +
8d419f
 1 file changed, 1 insertion(+)
8d419f
8d419f
diff --git a/src/shared/main-func.h b/src/shared/main-func.h
8d419f
index 05cdffeec0..09103bace9 100644
8d419f
--- a/src/shared/main-func.h
8d419f
+++ b/src/shared/main-func.h
8d419f
@@ -15,6 +15,7 @@
8d419f
 #define _DEFINE_MAIN_FUNCTION(intro, impl, ret)                         \
8d419f
         int main(int argc, char *argv[]) {                              \
8d419f
                 int r;                                                  \
8d419f
+                assert(argc > 0 && !isempty(argv[0]));                  \
8d419f
                 save_argc_argv(argc, argv);                             \
8d419f
                 intro;                                                  \
8d419f
                 r = impl;                                               \