diff --git a/src/scanbd/config.c b/src/scanbd/config.c index 7fa9c2d..9399333 100644 --- a/src/scanbd/config.c +++ b/src/scanbd/config.c @@ -102,8 +102,8 @@ void cfg_do_parse(const char *config_file_name) { 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 @@ -148,7 +148,7 @@ void cfg_do_parse(const char *config_file_name) { char *make_script_path_abs(const char *script) { - char* script_abs = malloc(PATH_MAX); + char* script_abs = malloc(PATH_MAX+1); assert(script_abs); strncpy(script_abs, SCANBD_NULL_STRING, PATH_MAX); diff --git a/src/scanbd/dbus.c b/src/scanbd/dbus.c index 428980c..33de735 100644 --- a/src/scanbd/dbus.c +++ b/src/scanbd/dbus.c @@ -196,8 +196,8 @@ static void hook_device_ex(const char *param, const char *action_name, const cha e += 1; } else { - char buf[PATH_MAX]; - char* ptr = getcwd(buf, PATH_MAX - 1); + char buf[PATH_MAX+1]; + char* ptr = getcwd(buf, PATH_MAX); if (!ptr) { slog(SLOG_ERROR, "can't get pwd"); } @@ -751,7 +751,7 @@ bool dbus_init(void) { return false; } #else - char match[PATH_MAX] = {}; + char match[PATH_MAX+1] = {}; snprintf(match, PATH_MAX, "type='signal',interface='%s'", DBUS_HAL_INTERFACE); slog(SLOG_ERROR, "dbus match %s", match); dbus_bus_add_match(conn, match, &dbus_error); diff --git a/src/scanbd/sane.c b/src/scanbd/sane.c index b031904..48691c6 100644 --- a/src/scanbd/sane.c +++ b/src/scanbd/sane.c @@ -957,8 +957,8 @@ static void* sane_poll(void* arg) { e += 1; } else { - char buf[PATH_MAX]; - char* ptr = getcwd(buf, PATH_MAX - 1); + char buf[PATH_MAX+1]; + char* ptr = getcwd(buf, PATH_MAX); if (!ptr) { slog(SLOG_ERROR, "can't get pwd"); } diff --git a/src/scanbd/scanbd.c b/src/scanbd/scanbd.c index feb73ae..3c8902c 100644 --- a/src/scanbd/scanbd.c +++ b/src/scanbd/scanbd.c @@ -350,7 +350,7 @@ int main(int argc, char** argv) { } // 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 --git a/src/scanbd/scanbuttond_loader.c b/src/scanbd/scanbuttond_loader.c index 857834a..06b13f6 100644 --- a/src/scanbd/scanbuttond_loader.c +++ b/src/scanbd/scanbuttond_loader.c @@ -29,11 +29,11 @@ // this file is basicly the same as loader.c from the scanbuttond-project, // but modified to meet the needs of scanbd -static char lib_dir[PATH_MAX] = SCANBD_NULL_STRING; +static char lib_dir[PATH_MAX+1] = SCANBD_NULL_STRING; int scanbtnd_init() { char *backends_dir = NULL; - char backends_dir_abs[PATH_MAX] = SCANBD_NULL_STRING; + char backends_dir_abs[PATH_MAX+1] = SCANBD_NULL_STRING; backends_dir = cfg_getstr(cfg_getsec(cfg, C_GLOBAL), C_SCANBUTTONS_BACKENDS_DIR); if ( backends_dir && (backends_dir[0] != '/')) { @@ -83,7 +83,7 @@ backend_t* scanbtnd_load_backend(const char* filename){ const char* error; void* dll_handle; - char dll_path[PATH_MAX]; + char dll_path[PATH_MAX+1]; strncpy(dll_path, lib_dir, PATH_MAX); strncat(dll_path, "/", PATH_MAX - strlen(dll_path)); strncat(dll_path, filename, PATH_MAX - strlen(dll_path)); diff --git a/src/scanbd/scanbuttond_wrapper.c b/src/scanbd/scanbuttond_wrapper.c index 02b7162..6bbb289 100644 --- a/src/scanbd/scanbuttond_wrapper.c +++ b/src/scanbd/scanbuttond_wrapper.c @@ -605,8 +605,8 @@ void* scbtn_poll(void* arg) { e += 1; } else { - char buf[PATH_MAX]; - char* ptr = getcwd(buf, PATH_MAX - 1); + char buf[PATH_MAX+1]; + char* ptr = getcwd(buf, PATH_MAX); if (!ptr) { slog(SLOG_ERROR, "can't get pwd"); } diff --git a/src/scanbd/slog.c b/src/scanbd/slog.c index 09fe1de..17b04a3 100644 --- a/src/scanbd/slog.c +++ b/src/scanbd/slog.c @@ -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_init(const char *string) { 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("");