summarylogtreecommitdiffstats
path: root/strcpy-bounds.patch
blob: a82a9022e1308fd95ddf59f209cf7d34c0df73a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
diff -ruN 1.5.1/src/scanbd/config.c 1.5.1-patched/src/scanbd/config.c
--- 1.5.1/src/scanbd/config.c	2017-04-19 10:53:25.000000000 +0300
+++ 1.5.1-patched/src/scanbd/config.c	2019-09-05 14:54:05.267421740 +0300
@@ -102,8 +102,8 @@
         cfg = NULL;
     }
 
-    char wd[PATH_MAX] = {};
-    char config_file[PATH_MAX] = {};
+    char wd[PATH_MAX+1] = {};
+    char config_file[PATH_MAX+1] = {};
     char* scanbd_conf_dir = NULL;
 
     // get current directory
diff -ruN 1.5.1/src/scanbd/scanbd.c 1.5.1-patched/src/scanbd/scanbd.c
--- 1.5.1/src/scanbd/scanbd.c	2017-04-19 10:53:25.000000000 +0300
+++ 1.5.1-patched/src/scanbd/scanbd.c	2019-09-05 14:54:40.957142882 +0300
@@ -350,7 +350,7 @@
     }
 
     // We do this here as debugging is only completely initialized here
-    char prog_path[PATH_MAX] = "";
+    char prog_path[PATH_MAX+1] = "";
     strncpy(prog_path, argv[0], PATH_MAX); 
     char *my_name = basename(prog_path);
     if ( strncmp(my_name, NAME_MANAGER_MODE, PATH_MAX) == 0 ) {
diff -ruN 1.5.1/src/scanbd/slog.c 1.5.1-patched/src/scanbd/slog.c
--- 1.5.1/src/scanbd/slog.c	2017-04-19 10:53:25.000000000 +0300
+++ 1.5.1-patched/src/scanbd/slog.c	2019-09-05 14:54:05.267421740 +0300
@@ -26,7 +26,7 @@
 bool debug = false;
 unsigned int debug_level = 0;
 
-static char lpre[LINE_MAX] = "";
+static char lpre[LINE_MAX+1] = "";
 static int isInitialized = 0;
 
 void slog_init(const char *string) {
@@ -37,7 +37,7 @@
 void
 slog(unsigned int level, const char *format, ...) {
     va_list	ap;
-    char	buffer[LINE_MAX] = "";
+    char	buffer[LINE_MAX+1] = "";
 
     if (isInitialized == 0) {
         slog_init("");