From ff26ce85f854672f7e00d825e28949fadd5a9372 Mon Sep 17 00:00:00 2001 From: Andrew Borodin Date: Sun, 3 Jul 2022 15:31:04 +0300 Subject: [PATCH] Ticket #4398: crash on quick view of archives. * (extfs_cmd): make message null-terminated. * (sfs_vfmake): likewise. * (do_external_panelize): likewise. Signed-off-by: Andrew Borodin --- src/filemanager/panelize.c | 1 + src/vfs/extfs/extfs.c | 2 ++ src/vfs/sfs/sfs.c | 2 ++ 3 files changed, 5 insertions(+) diff --git a/src/filemanager/panelize.c b/src/filemanager/panelize.c index 9b4d6ad7b..ab0dbb640 100644 --- a/src/filemanager/panelize.c +++ b/src/filemanager/panelize.c @@ -334,6 +334,7 @@ do_external_panelize (char *command) /* init buffers before call of mc_pread() */ external->out.len = MC_PIPE_BUFSIZE; external->err.len = MC_PIPE_BUFSIZE; + external->err.null_term = TRUE; mc_pread (external, &error); diff --git a/src/vfs/extfs/extfs.c b/src/vfs/extfs/extfs.c index e2cc398be..435bb5944 100644 --- a/src/vfs/extfs/extfs.c +++ b/src/vfs/extfs/extfs.c @@ -960,6 +960,8 @@ extfs_cmd (const char *str_extfs_cmd, const struct extfs_super_t *archive, return (-1); } + pip->err.null_term = TRUE; + mc_pread (pip, &error); if (error != NULL) { diff --git a/src/vfs/sfs/sfs.c b/src/vfs/sfs/sfs.c index 5b709e338..ad313b551 100644 --- a/src/vfs/sfs/sfs.c +++ b/src/vfs/sfs/sfs.c @@ -228,6 +228,8 @@ sfs_vfmake (const vfs_path_t * vpath, vfs_path_t * cache_vpath) return (-1); } + pip->err.null_term = TRUE; + mc_pread (pip, &error); if (error != NULL) { -- 2.11.4.GIT