commit 7baf5860e933fb606101bf5c6eba106e914b0fac from: Stefan Sperling date: Tue Mar 19 11:37:32 2019 UTC avoid code duplication in error case of open_blob() commit - ff2a4428e6e7d8e8dcb70915aa91472531df7b5f commit + 7baf5860e933fb606101bf5c6eba106e914b0fac blob - a630dccdb7ba6ff744c85360f6bab5afc30a888a blob + 911aa0e314aa74b4cbc6a5f1f749500f7cd6eb3e --- lib/object.c +++ lib/object.c @@ -1057,10 +1057,7 @@ open_blob(struct got_blob_object **blob, struct got_re 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) @@ -1089,7 +1086,7 @@ got_object_blob_close(struct got_blob_object *blob) { 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);