[devel] firebird x86 error will always overflow destination buffer HELP!
Boris Savelev
boris.savelev на gmail.com
Чт Апр 4 15:01:39 MSK 2013
поторопился я. ошибка всё равно. только теперь на memcpy (
4 апреля 2013 г., 14:04 пользователь Boris Savelev
<boris.savelev на gmail.com> написал:
> компилируется... спасибо)
>
> 4 апреля 2013 г., 11:42 пользователь Damir Shayhutdinov
> <damir на altlinux.org> написал:
>> В коде похоже есть ошибка.
>>
>> Можно вот так подправить:
>>
>> 1115 if (p1 < q &&
>> ((d = *p1++) == '_' || d == '$'))
>> 1116
>> strncpy(q1 - 4, "isc", 3);
>> 1117 else
>> 1118 *q1++ =
>> d;
>>
>> заменить на
>>
>> if (p1 < q)
>> {
>> if ((d = *p1++) == '_' || d == '$')
>> memcpy(q1 - 4, "isc", 3);
>> else
>> *q1++ = d;
>> }
>>
>> Правда я не уверен, что при этом проблема не исчезнет. Если не исчезнет,
>> можно еще в строчке 1073 увеличить размер line с 256 до 260.
>>
>>
>> 2013/4/4 Boris Savelev <boris на altlinux.org>
>>>
>>> Привет!
>>> Помогите мне, пожалуйста, собрать firebird.
>>> Ошибка:
>>> In function 'char* strncpy(char*, const char*, size_t)',
>>> inlined from 'void gen_blr(void*, SSHORT, const char*)' at
>>> ../src/gpre/c_cxx.cpp:1116:34:
>>> /usr/include/bits/string3.h:120:71: error: call to char*
>>> __builtin___strncpy_chk(char*, const char*, unsigned int, unsigned
>>> int) will always overflow destination buffer
>>>
>>> Лог:
>>> http://git.altlinux.org/tasks/93764/build/100/i586/log
>>>
>>> Код:
>>>
>>> http://git.altlinux.org/people/boris/packages/?p=firebird.git;a=blob;f=Firebird/src/gpre/c_cxx.cpp;h=806bcac4ed69b8d0963c69c16f6b2c9fbd6b7852;hb=HEAD#l1116
>>>
>>>
>>> --
>>> Boris
>>> _______________________________________________
>>> Devel mailing list
>>> Devel на lists.altlinux.org
>>> https://lists.altlinux.org/mailman/listinfo/devel
>>
>>
>>
>> _______________________________________________
>> Devel mailing list
>> Devel на lists.altlinux.org
>> https://lists.altlinux.org/mailman/listinfo/devel
>
>
>
> --
> Boris
--
Boris
Подробная информация о списке рассылки Devel