Re: Reporting hba lines - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: Reporting hba lines
Date
Msg-id CABUevEwHTZ5siFhun8XEB9GZH=_h5gEigmNcya7_gqEmiQftFg@mail.gmail.com
Whole thread Raw
In response to Re: Reporting hba lines  (Dean Rasheed <dean.a.rasheed@gmail.com>)
List pgsql-hackers
On Sun, Jan 20, 2013 at 5:56 PM, Dean Rasheed <dean.a.rasheed@gmail.com> wrote:
> On 5 January 2013 16:58, Magnus Hagander <magnus@hagander.net> wrote:
>> Attached is an updated version of the patch, per the comments from Tom
>> and rebased on top of the current master. Since it's been a long time
>> ago, and some code churn in the area, another round of review is
>> probably a good thing...
>>
>
> I took a look at this patch, and it seems to be in pretty good shape.
> It applies cleanly to head, and seems to work as advertised/discussed.
> I have a couple of comments on the code...
>
>
> In next_token(), in the case of an overlong token, this change looks wrong:
>
>                         /* Discard remainder of line */
> !                       while ((c = getc(fp)) != EOF && c != '\n')
> !                               ;
>                         break;
>                 }
>
> --- 188,195 ----
>                            errmsg("authentication file token too long, skipping: \"%s\"",
>                                           start_buf)));
>                         /* Discard remainder of line */
> !                       while ((c = (*(*lineptr)++)) != '\0' && c != '\n')
> !                               (*lineptr)++;
>                         break;
>
> It appears to be incrementing lineptr twice per loop iteration, so it
> risks missing the EOL/EOF and running off the end of the buffer.
>
>
> Nitpicking, at the end of the loop you have:
>
> !               c = (**lineptr);
> !               (*lineptr)++;
>
> perhaps for consistency with the preceding code, that should be "c =
> (*(*lineptr)++)". Personally, I'd also get rid of the outer sets of
> brackets in each of these expressions and just write "c =
> *(*lineptr)++", since I don't think they add anything.
>
>
> Finally, the comment block for tokenize_file() needs updating, now
> that it returns three lists.

Thanks for the review - I've updated the patch per your comments
(minus the changing of the outer set of brackets - kept that the way
it was for consistency, but that can always be changed later if people
prefer that way), and will push it as it now stands.

-- Magnus HaganderMe: http://www.hagander.net/Work: http://www.redpill-linpro.com/



pgsql-hackers by date:

Previous
From: Fujii Masao
Date:
Subject: Re: odd behavior in materialized view
Next
From: Greg Smith
Date:
Subject: Re: Re: Proposal for Allow postgresql.conf values to be changed via SQL [review]