Skip to content

Commit 4c54dce

Browse files
committed
zip: Fix file descriptor leak when php_zip_add_file() fails
1 parent 73d9145 commit 4c54dce

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

ext/zip/php_zip.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -313,11 +313,15 @@ static int php_zip_add_file(ze_zip_object *obj, const char *filename, size_t fil
313313
}
314314
flags ^= ZIP_FL_OPEN_FILE_NOW;
315315
zs = zip_source_filep(obj->za, fd, offset_start, offset_len);
316+
if (!zs) {
317+
fclose(fd);
318+
return FAILURE;
319+
}
316320
} else {
317321
zs = zip_source_file(obj->za, resolved_path, offset_start, offset_len);
318-
}
319-
if (!zs) {
320-
return -1;
322+
if (!zs) {
323+
return FAILURE;
324+
}
321325
}
322326
/* Replace */
323327
if (replace >= 0) {

0 commit comments

Comments
 (0)