* Users of streaming interface
****************************************************************/
-int stream_blob_to_fd(int fd, unsigned const char *sha1, struct stream_filter *filter,
+int stream_blob_to_fd(int fd, const struct object_id *oid, struct stream_filter *filter,
int can_seek)
{
struct git_istream *st;
ssize_t kept = 0;
int result = -1;
- st = open_istream(sha1, &type, &sz, filter);
- if (!st)
+ st = open_istream(oid->hash, &type, &sz, filter);
+ if (!st) {
+ if (filter)
+ free_stream_filter(filter);
return result;
+ }
if (type != OBJ_BLOB)
goto close_and_exit;
for (;;) {