Re: [PATCH] git-compat-util: avoid failing dir ownership checks if running privileged

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

 



On 27/04/2022 17:19, Junio C Hamano wrote:
Carlo Arenas <carenas@xxxxxxxxx> writes:
The standard is silent on what happens to error when the value is out of
range.

Actually the standard is is very clear what happens to endptr (no,
don't call it "error", that is not the point of the parameter).
>
     A pointer to the final string shall be stored in the object
     pointed to by endptr, provided that endptr is not a null
     pointer.

where "final string" has a precise definition much earlier:

     First, they decompose the input string into three parts:

     1. An initial, possibly empty, sequence of white-space
        characters (as specified by isspace())

     2. A subject sequence interpreted as an integer represented in
        some radix determined by the value of base

     3. A final string of one or more unrecognized characters,
        including the terminating null byte of the input string.

     Then they shall attempt to convert the subject sequence to an
     integer, and return the result.

So, leading whitespace is stripped, then "subject sequence" that is
the sequence of digits (with optional +/- sign) to be turned into a
long is recognised, and what remains is the "final string".  endptr
is made to point at that "final string", and it does not matter what
kind of value the interpretation of "subject sequence" yields.

Oh I think I misunderstood when I read the standard this morning. Just to check I do understand now, in the case of overflow entptr points to the final string (i.e. to the character following the last digit) even though the "subject sequence" cannot be successfully converted?

Thanks

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