summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.pick_status.json2
-rw-r--r--src/util/disk_cache.c6
2 files changed, 6 insertions, 2 deletions
diff --git a/.pick_status.json b/.pick_status.json
index 92d4b85f3f9..2922bfb5d6a 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -157,7 +157,7 @@
"description": "util/disk_cache: check for write() failure in the zstd path",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"master_sha": null,
"because_sha": "a8d941091f72923561a6c58b46ccb264b6a0e205"
},
diff --git a/src/util/disk_cache.c b/src/util/disk_cache.c
index e5b21b9a79f..d1f14736725 100644
--- a/src/util/disk_cache.c
+++ b/src/util/disk_cache.c
@@ -758,7 +758,11 @@ deflate_and_write_to_disk(const void *in_data, size_t in_data_size, int dest,
free(out);
return 0;
}
- write_all(dest, out, ret);
+ ssize_t written = write_all(dest, out, ret);
+ if (written == -1) {
+ free(out);
+ return 0;
+ }
free(out);
return ret;
#else