From bce041752cdf5588c5d39bc6c502d9746a9f25f1 Mon Sep 17 00:00:00 2001 From: Martin Matuska Date: Tue, 22 Aug 2023 15:52:27 +0200 Subject: [PATCH] uudecode filter: fix memory allocation and name length calculation --- libarchive/archive_read_support_filter_uu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libarchive/archive_read_support_filter_uu.c b/libarchive/archive_read_support_filter_uu.c index 3d01298ff..125bd92b7 100644 --- a/libarchive/archive_read_support_filter_uu.c +++ b/libarchive/archive_read_support_filter_uu.c @@ -574,9 +574,9 @@ read_more: ((int)(b[l+1] - '0') * 8) + (int)(b[l+2] - '0')); uudecode->mode_set = 1; - namelen = len - l - 5; + namelen = len - nl - 4 - l; if (namelen > 1) { - uudecode->name = malloc(namelen); + uudecode->name = malloc(namelen + 1); strncpy(uudecode->name, (const char *)(b + l + 4), namelen); -- 2.47.2