]> arthur.barton.de Git - bup.git/commitdiff
Disallow argc < 1 (for now just crash)
authorRob Browning <rlb@defaultvalue.org>
Tue, 3 May 2022 00:54:54 +0000 (19:54 -0500)
committerRob Browning <rlb@defaultvalue.org>
Tue, 3 May 2022 01:16:35 +0000 (20:16 -0500)
Since argc is allowed to be zero, and it's possible that any number of
things haven't been written to handle it, just crash for now if we
encounter it.

cf. https://lwn.net/Articles/882799/

Signed-off-by: Rob Browning <rlb@defaultvalue.org>
Tested-by: Rob Browning <rlb@defaultvalue.org>
dev/python.c
lib/cmd/bup.c
src/bup/compat.c

index 52acab9a20d4d0efbef47c777c668edae64c8b53..717b927c11c3af933dd61266bb30097a6be2b6e8 100644 (file)
@@ -19,5 +19,6 @@
 
 int main(int argc, char **argv)
 {
+    assert(argc > 0);
     return bup_py_main (argc, argv);
 }
index 66faef1e7bb185dde815fa74f2332bb77870008b..482960be052b05731def8764467bbcd13e09357e 100644 (file)
@@ -329,6 +329,7 @@ prepend_lib_to_pythonpath(const char * const exec_path,
 
 int main(int argc, char **argv)
 {
+    assert(argc > 0);
     prog_argc = argc;
     prog_argv = argv;
     setup_bup_main_module();
@@ -356,6 +357,7 @@ int main(int argc, char **argv)
 
 int main(int argc, char **argv)
 {
+    assert(argc > 0);
     prog_argc = argc;
     prog_argv = argv;
     setup_bup_main_module();
index 2a29c05fc9f525e73a710bda5342c5230d325d82..98858ae2ee281628f55276b2b4edb1da615e77bf 100644 (file)
@@ -14,6 +14,7 @@
 
 int bup_py_bytes_main(int argc, char **argv)
 {
+    assert(argc > 0);
     wchar_t **wargv = PyMem_RawMalloc(argc * sizeof(wchar_t *));
     if (!wargv)
         die(2, "memory insufficient to decode command line arguments");