Re: Segfault when restoring -Fd dump on current HEAD

Поиск
Список
Период
Сортировка
От Dmitry Dolgov
Тема Re: Segfault when restoring -Fd dump on current HEAD
Дата
Msg-id CA+q6zcWCb9Gtyi3d6kkzY5DgL_1VRhEmkjwk1-SmxW=Gm5tJeg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Segfault when restoring -Fd dump on current HEAD  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Segfault when restoring -Fd dump on current HEAD  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Список pgsql-hackers
> On Wed, Feb 27, 2019 at 1:32 PM Alvaro Herrera <alvherre@2ndquadrant.com> wrote:
>
> > > I think it would be better to just put back the .defn = "" (etc) to the
> > > ArchiveEntry calls.
> >
> > Then we should do this not only for defn, but for owner and dropStmt too.
>
> Yeah, absolutely.

Done, please find the attached patch.

> > I can
> > update the fix patch I've sent before, if it's preferrable approach in this
> > particular situation.
>
> I'm not sure we need those changes, since we're forced to update all
> callsites anyway.

I guess we can keep the part about removing null checks before using strlen,
since it's going to be useless.

> On Wed, Feb 27, 2019 at 10:36 AM Dmitry Dolgov <9erthalion6@gmail.com> wrote:
>
> > On Tue, Feb 26, 2019 at 11:53 PM Alvaro Herrera <alvherre@2ndquadrant.com> wrote:
> >
> > On 2019-Feb-26, Dmitry Dolgov wrote:
> >
> > > Yes, it should be rather simple, we can e.g. return to the old less consistent
> > > NULL handling approach something (like in the attached patch), or replace a NULL
> > > value with an empty string in WriteToc. Give me a moment, I'll check it out. At
> > > the same time I would suggest to keep replace_line_endings -> sanitize_line,
> > > since it doesn't break compatibility.
> >
> > Hmm, shouldn't we modify sanitize_line so that it returns strdup(hyphen)
> > when input is empty and want_hyphen, too?
>
> Yes, you're right.

I've looked closer, and looks like I was mistaken. In the only place where it
matters we anyway pass NULL after verifying noOwner:

    sanitized_owner = sanitize_line(ropt->noOwner ? NULL : te->owner, true);

So I haven't change sanitize_line yet, but can update it if there is a strong
opinion about this function.

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Segfault when restoring -Fd dump on current HEAD
Следующее
От: Andres Freund
Дата:
Сообщение: Re: Pluggable Storage - Andres's take