summaryrefslogtreecommitdiff
path: root/ext/zip/lib/zip_extra_field_api.c
diff options
context:
space:
mode:
authorRemi Collet <remi@php.net>2013-12-30 07:35:30 +0100
committerRemi Collet <remi@php.net>2013-12-30 07:35:30 +0100
commit0a950a05005f94e56bd2a42b99a0961db86952db (patch)
tree3949553a3f889947795b007df4776643b153da55 /ext/zip/lib/zip_extra_field_api.c
parent5a756afcf14fada75f6ed8052cd97924dd229ed8 (diff)
downloadphp-git-0a950a05005f94e56bd2a42b99a0961db86952db.tar.gz
Sync with pecl/zip 1.12.4dev
- update bunled libzip to 0.11.2 - expose zip_file_set_external_attributes + zip_file_get_external_attributes with new methods: ZipArchive::setExternalAttributesName ZipArchive::setExternalAttributesIndex ZipArchive::getExternalAttributesName ZipArchive::getExternalAttributesIndex
Diffstat (limited to 'ext/zip/lib/zip_extra_field_api.c')
-rw-r--r--ext/zip/lib/zip_extra_field_api.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/ext/zip/lib/zip_extra_field_api.c b/ext/zip/lib/zip_extra_field_api.c
index 02ed4555e0..3e936d2664 100644
--- a/ext/zip/lib/zip_extra_field_api.c
+++ b/ext/zip/lib/zip_extra_field_api.c
@@ -46,6 +46,11 @@ zip_file_extra_field_delete(struct zip *za, zip_uint64_t idx, zip_uint16_t ef_id
_zip_error_set(&za->error, ZIP_ER_INVAL, 0);
return -1;
}
+
+ if (((flags & ZIP_EF_BOTH) == ZIP_EF_BOTH) && (ef_idx != ZIP_EXTRA_FIELD_ALL)) {
+ _zip_error_set(&za->error, ZIP_ER_INVAL, 0);
+ return -1;
+ }
if (_zip_get_dirent(za, idx, 0, NULL) == NULL)
return -1;
@@ -75,6 +80,11 @@ zip_file_extra_field_delete_by_id(struct zip *za, zip_uint64_t idx, zip_uint16_t
_zip_error_set(&za->error, ZIP_ER_INVAL, 0);
return -1;
}
+
+ if (((flags & ZIP_EF_BOTH) == ZIP_EF_BOTH) && (ef_idx != ZIP_EXTRA_FIELD_ALL)) {
+ _zip_error_set(&za->error, ZIP_ER_INVAL, 0);
+ return -1;
+ }
if (_zip_get_dirent(za, idx, 0, NULL) == NULL)
return -1;