diff options
Diffstat (limited to 'src/Common/libzip/zip_file_replace.c')
-rw-r--r-- | src/Common/libzip/zip_file_replace.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/Common/libzip/zip_file_replace.c b/src/Common/libzip/zip_file_replace.c index 4262d453..ce457ed1 100644 --- a/src/Common/libzip/zip_file_replace.c +++ b/src/Common/libzip/zip_file_replace.c @@ -2,3 +2,3 @@ zip_file_replace.c -- replace file via callback function - Copyright (C) 1999-2021 Dieter Baron and Thomas Klausner + Copyright (C) 1999-2024 Dieter Baron and Thomas Klausner @@ -85,2 +85,8 @@ _zip_file_replace(zip_t *za, zip_uint64_t idx, const char *name, zip_source_t *s + /* delete all extra fields - these are usually data that are + * strongly coupled with the original data */ + if (zip_file_extra_field_delete(za, idx, ZIP_EXTRA_FIELD_ALL, ZIP_FL_CENTRAL | ZIP_FL_LOCAL) < 0) { + return -1; + } + /* does not change any name related data, so we can do it here; |