Re: [PATCH] mailsplit and mailinfo: gracefully handle NUL characters
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 22, 2008, 17:44 UTC
- Message-ID
- <7v8wy2w7wg.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <alpine.DEB.1.00.0805221136230.30431@racer>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 7 quoted lines
>> Looking at what handle_body() does for TE_BASE64 and TE_QP cases, I have >> to wonder if this is enough. The loop seems to stop at (*op == NUL) >> which follows an old assumption that each line is terminated with NUL, >> not the new assumption you introduced that each line's length is kept in >> local variable len. > > Of course! But does BASE64 and QP contain NULs?
The loop in question iterates over bytes _after_ decoding these encoded lines, and a typical reason you would encode the payload is because it contains something not safe over e-mail transfer, e.g. NUL.
I think decode_transfer_encoding() also needs to become safe against NULs in the payload.