commit 0bd0053c348d6c7ff2adec2bec651f15f2317f23 from: Stefan Sperling date: Sat Mar 17 14:31:18 2018 UTC handle empty files in got_packfile_extract_object() commit - 56866f4a1fa810c53b06c97db0f3db3888de1ff7 commit + 0bd0053c348d6c7ff2adec2bec651f15f2317f23 blob - de4af7d6403dc66578acef343fd92450e6cefa05 blob + f9bf359965c62584d6d45d87cd96d72668bf8a6e --- lib/pack.c +++ lib/pack.c @@ -1354,9 +1354,12 @@ got_packfile_extract_object(FILE **f, struct got_objec goto done; } - if (obj->size < GOT_DELTA_RESULT_SIZE_CACHED_MAX) - *f = fmemopen(NULL, obj->size, "w+"); - else + if (obj->size < GOT_DELTA_RESULT_SIZE_CACHED_MAX) { + size_t size = obj->size; + if (size == 0) /* empty file */ + size = 1; + *f = fmemopen(NULL, size, "w+"); + } else *f = got_opentemp(); if (*f == NULL) { err = got_error(GOT_ERR_FILE_OPEN);