From e1c0f9a6608e99aa17355b5352a122a3ddbdb23e Mon Sep 17 00:00:00 2001 From: Tobias Stoeckmann Date: Sat, 31 May 2025 11:31:50 +0200 Subject: [PATCH] write disk windows: Release memory on error paths Free wsp in case of out of memory condition. Signed-off-by: Tobias Stoeckmann --- libarchive/archive_write_disk_windows.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libarchive/archive_write_disk_windows.c b/libarchive/archive_write_disk_windows.c index c9f10a8ae..98c7a223a 100644 --- a/libarchive/archive_write_disk_windows.c +++ b/libarchive/archive_write_disk_windows.c @@ -471,8 +471,10 @@ permissive_name_w(struct archive_write_disk *a) */ if (wnp[0] == L'\\') { wn = _wcsdup(wnp); - if (wn == NULL) + if (wn == NULL) { + free(wsp); return (-1); + } archive_wstring_ensure(&(a->_name_data), 4 + 2 + wcslen(wn) + 1); a->name = a->_name_data.s; @@ -486,8 +488,10 @@ permissive_name_w(struct archive_write_disk *a) } wn = _wcsdup(wnp); - if (wn == NULL) + if (wn == NULL) { + free(wsp); return (-1); + } archive_wstring_ensure(&(a->_name_data), 4 + l + 1 + wcslen(wn) + 1); a->name = a->_name_data.s; /* Prepend "\\?\" and drive name if not already added. */ -- 2.47.3