Re: [PATCH 1/1] cat-file: quote-format name in error when using -z

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Toon

On 20/12/2022 05:31, Toon Claes wrote:

Phillip Wood <phillip.wood123@xxxxxxxxx> writes:

Thanks for working on this. I'd previously suggested NUL terminating the output
of "git cat-file -z" to avoid this problem [1]

[1]
https://lore.kernel.org/git/66b71194-ad0e-18d0-e43b-71e5c47ba111@xxxxxxxxx/

What happened to this proposal? I don't see any replies to that. That's
a bit sad, because it would have been nice to have it this behavior from
the start.

Yes it would have been nice, unfortunately it feel through the cracks due to a combination of unfortunate timing and lack of time. I think the patch was probably in next by the time I realized the problem and wrote that email. Taylor was on holiday at the time and then I went away around the time he got back. I know it was on his todo list but I think he was busy catching up from being away getting ready for git merge. I had other things I was working on and unfortunately didn't get round to following it up.

but quoting the object name is a better solution.

I would not say it's a better solution, but it's a less invasive
solution that /minimizes/ breaking changes. Ideally I'd like to have NUL
terminated output for "git cat-file -z". In a success situation I
assume this would return:

     <oid> SP <type> SP <size> NUL
     <contents> NUL

In a failure situation something like:

     <object> SP missing NUL

So when you pass -z you can keep reading until the first NUL and then
you'll know if you should read for contents as well.

Would you consider change behavior to this now?

Hmm I'm not sure (and luckily it isn't up to me to take the final decision!). I really don't know how many people are using "-z" I suspect it is not many and so the fallout wouldn't be too bad but we'd still be inconveniencing some users. I theory we could so "sorry we made a mistake when implementing this feature and have decided to change it" but we have a solution in your patch which hopefully does not break any users (I say hopefully because think if one is careful and keep track of which responses you've read it is possible to detect missing objects now even if their name contains a new line but it will be messy and probably slightly inefficient but anyone doing that will notice the change in output).

Overall I'd say it is tempting but risky and inconvenient to any existing users of "-z" (assuming someone else is actually using it). Quoting the object name is definitively the safer option at this point.

Best Wishes

Phillip



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux