From: Tobias Stoeckmann Date: Sat, 31 May 2025 09:31:50 +0000 (+0200) Subject: write disk windows: Release memory on error paths X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e1c0f9a6608e99aa17355b5352a122a3ddbdb23e;p=thirdparty%2Flibarchive.git write disk windows: Release memory on error paths Free wsp in case of out of memory condition. Signed-off-by: Tobias Stoeckmann --- 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. */