diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-09-27 13:23:07 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-09-27 16:02:19 -0400 |
commit | 108242ce16fc7d7d9e81a1a6e9783fd9bda8b60c (patch) | |
tree | 84d49350f5a9911291b30c7733a729a678a3535e | |
parent | 8621754d1126b0047a4e5817b85dcf0e8749e721 (diff) | |
download | stasis-108242ce16fc7d7d9e81a1a6e9783fd9bda8b60c.tar.gz |
mp_pool_init(): return NULL when ident argument is NULL
* reported by @kmacdonald-stsci
-rw-r--r-- | include/multiprocessing.h | 1 | ||||
-rw-r--r-- | src/multiprocessing.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/include/multiprocessing.h b/include/multiprocessing.h index d4213d2..af8b90a 100644 --- a/include/multiprocessing.h +++ b/include/multiprocessing.h @@ -17,6 +17,7 @@ struct MultiProcessingTask { int signaled_by; ///< Last signal received, if any char ident[255]; ///< Identity of the pool task char *cmd; ///< Shell command(s) to be executed + size_t cmd_len; ///< Length of command string (for mmap/munmap) char working_dir[PATH_MAX]; ///< Path to directory `cmd` should be executed in char log_file[PATH_MAX]; ///< Full path to stdout/stderr log file char parent_script[PATH_MAX]; ///< Path to temporary script executing the task diff --git a/src/multiprocessing.c b/src/multiprocessing.c index 6a97b3b..5d22901 100644 --- a/src/multiprocessing.c +++ b/src/multiprocessing.c @@ -375,7 +375,8 @@ int mp_pool_join(struct MultiProcessingPool *pool, size_t jobs, size_t flags) { struct MultiProcessingPool *mp_pool_init(const char *ident, const char *log_root) { struct MultiProcessingPool *pool; - if (!log_root) { + if (!ident || !log_root) { + // Pool must have an ident string // log_root must be set return NULL; } |