- zsrc = zip_source_file(zws->zip, zws->name, 0, 0);
+ fd = openat(workdirfd, zws->name, O_RDONLY);
+ if (fd < 0) {
+ syslog(LOG_ERR, "openat of %s failed", zws->name);
+ goto error;
+ }
+ fp = fdopen(fd, "r");
+ if (fp == NULL) {
+ syslog(LOG_ERR, "fdopen of %s failed", zws->name);
+ close(fd);
+ goto error;
+ }
+ zsrc = zip_source_filep(zws->zip, fp, 0, 0);