commit - ff2a4428e6e7d8e8dcb70915aa91472531df7b5f
commit + 7baf5860e933fb606101bf5c6eba106e914b0fac
blob - a630dccdb7ba6ff744c85360f6bab5afc30a888a
blob + 911aa0e314aa74b4cbc6a5f1f749500f7cd6eb3e
--- lib/object.c
+++ lib/object.c
done:
if (err) {
if (*blob) {
- if ((*blob)->f)
- fclose((*blob)->f);
- free((*blob)->read_buf);
- free((*blob)->data);
+ got_object_blob_close(*blob);
free(*blob);
*blob = NULL;
} else if (outfd != -1)
{
const struct got_error *err = NULL;
free(blob->read_buf);
- if (fclose(blob->f) != 0)
+ if (blob->f && fclose(blob->f) != 0)
err = got_error_from_errno();
free(blob->data);
free(blob);