BUG #8702: psql \df+ translate_columns[] overflow and unexpected gettext translation
От | eshkinkot@gmail.com |
---|---|
Тема | BUG #8702: psql \df+ translate_columns[] overflow and unexpected gettext translation |
Дата | |
Msg-id | E1VwKqz-0005WO-PP@wrigleys.postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #8702: psql \df+ translate_columns[] overflow and
unexpected gettext translation
|
Список | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 8702 Logged by: Sergey Burladyan Email address: eshkinkot@gmail.com PostgreSQL version: 9.3.1 Operating system: Debian testing Description: I get this result from \df+ foo: --- echo $LANG --- ru_RU.UTF-8 --- --- create function foo() returns void language plpgsql as $$ begin end $$; СпиÑок ÑÑнкÑий -[ RECORD 1 ]----------+--------------------------------------------------------------------------------------------------------------------- Ð¡Ñ ÐµÐ¼Ð° | public ÐÐ¼Ñ | foo Тип даннÑÑ ÑезÑлÑÑаÑа | void Ð¢Ð¸Ð¿Ñ Ð´Ð°Ð½Ð½ÑÑ Ð°ÑгÑменÑов | Тип | обÑÑÐ½Ð°Ñ ÐезопаÑноÑÑÑ | вÑзÑваÑÑего ÐзменÑивоÑÑÑ | volatile ÐÐ»Ð°Ð´ÐµÐ»ÐµÑ | seb ЯзÑк | plpgsql ÐÑÑ Ð¾Ð´Ð½Ñй код | begin end ÐпиÑание | Project-Id-Version: PostgreSQL 9 current | Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org | POT-Creation-Date: 2013-05-20 02:16+0000 | PO-Revision-Date: 2013-05-20 20:02+0400 | Last-Translator: Alexander Lakhin <exclusion@gmail.com> | Language-Team: Russian <pgtranslation-translators@pgfoundry.org> | Language: ru | MIME-Version: 1.0 | Content-Type: text/plain; charset=UTF-8 | Content-Transfer-Encoding: 8bit | X-Poedit-Language: Russian | X-Poedit-Country: RUSSIAN FEDERATION | X-Generator: Lokalize 1.5 | Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); | looks like "Description" field contains header from ru.mo messages file. src/bin/psql/describe.c:describeFunctions translate_columns[] array size is less than the maximum number of columns in query and it overflowed in src/bin/psql/print.c:printQuery at ... translate = (opt->translate_columns && opt->translate_columns[c]); ... so in my case opt->translate_columns[10] have garbage == true and "Description" field content translated unexpectedly.
В списке pgsql-bugs по дате отправления: