threads / discuss / 2036

Still unsafe: write_sha1_from_fd()

Subject: Still unsafe: write_sha1_from_fd()

## tl;dr

2 messages between Oct 6, 2005 and Oct 6, 2005.

replies: 1people: 2as markdown or json

Linus Torvalds· Oct 6, 2005, 22:26 UTC · lore

I was looking over the object writing functions, and noticed that "write_sha1_from_fd()" writes its object directly into the final object name, which means that if it is interrupted with ^C at an inopportune time, it will leave a corrupt object behind.

The only user is apparently ssh-fetch, but especially since the input-fd is a network connection, it looks like it is not at all unlikely that this case will trigger - all it takes is somebody impatient waiting for a large object.

Ugh,
		Linus
Junio C Hamano· Oct 6, 2005, 22:37 UTC · re: Linus Torvalds · lore

Re: Still unsafe: write_sha1_from_fd()

Linus Torvalds <torvalds@osdl.org> writes:
Show 6 quoted lines
> The only user is apparently ssh-fetch, but especially since the input-fd 
> is a network connection, it looks like it is not at all unlikely that this 
> case will trigger - all it takes is somebody impatient waiting for a large 
> object.
>
> Ugh,
Ugh indeed.

I'd vote for renaming it to a less generic name, moving it out of sha1_file.c -- make it static in ssh-fetch.c -- and slowly deprecate the use of ssh-fetch/ssh-upload pair.

I do not see much point prefering it over the pack transfer protocol anyway, if you already have ssh access to the box.

← back to recent threads