summaryrefslogtreecommitdiff
path: root/src/lib/internet.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-07-24 23:18:24 +0200
committerCarl Hetherington <cth@carlh.net>2020-07-24 23:18:24 +0200
commita7cd9cec31952b932ab80fb50cddec28aab74736 (patch)
tree041018e7b337d9f9ceb7d1e651af0a0424b21f8b /src/lib/internet.cc
parent73ebb92e9df01ba7afb97121b6e2cef6ca13a18e (diff)
Diffstat (limited to 'src/lib/internet.cc')
-rw-r--r--src/lib/internet.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/internet.cc b/src/lib/internet.cc
index 943363d1a..c18b3a6e6 100644
--- a/src/lib/internet.cc
+++ b/src/lib/internet.cc
@@ -185,7 +185,12 @@ get_from_zip_url (string url, string file, bool pasv, bool skip_pasv_ip, functio
char buffer[4096];
while (true) {
int const N = zip_fread (file_in_zip, buffer, sizeof (buffer));
- checked_fwrite (buffer, N, f, temp_cert.file());
+ if (N == -1) {
+ zip_fclose (file_in_zip);
+ zip_close (zip);
+ return optional<string>(_("Could not read from ZIP file"));
+ }
+ checked_fwrite (buffer, static_cast<size_t>(N), f, temp_cert.file());
if (N < int (sizeof (buffer))) {
break;
}