Re: Some encoding trouble via libpq

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Some encoding trouble via libpq
Дата
Msg-id 29814.1175197572@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Some encoding trouble via libpq  ("Billy Gray" <billy.zophar@gmail.com>)
Ответы Re: Some encoding trouble via libpq  ("William Gray" <billy.zophar@gmail.com>)
Список pgsql-general
"Billy Gray" <billy.zophar@gmail.com> writes:
>     char *buffer = (char *) xmalloc (STDIN_BLOCK); //xmalloc is really
> malloc
>     int offset = 0;
>     int read = 1;
>     int size = STDIN_BLOCK;

>     while ( (read > 0) && (offset <= STDIN_MAX) )
>     {
>         syslog (LOG_DEBUG, "Reading a block...");
>         read = fread (buffer + offset, 1, STDIN_BLOCK, stdin);
>         offset += read;
>         if (read == STDIN_BLOCK)
>         {
>             size += STDIN_BLOCK;
>             buffer = xrealloc (buffer, size);
>         }
>     } // while

This looks to me like it risks telling fread to read more bytes than
will actually fit in the buffer at the moment.  Think about what happens
if fread returns only a partial bufferload on any particular call.
I'm guessing you're clobbering memory ...

            regards, tom lane

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Postgres Crash Running PLPGSQL Function on 8.2.3
Следующее
От: "Merlin Moncure"
Дата:
Сообщение: Re: cutting out the middleperl