| Summary: | uuid_functions.c: always overflow destination buffer | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | solo <solo> |
| Component: | FreeAdhocUDF | Assignee: | Nobody's working on this, feel free to take it <nobody> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P3 | ||
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
$ rpm -qa|fgrep FreeAdhocUDF
FreeAdhocUDF-0.0.0.20090128a-alt0.1
$ rpm -qa|fgrep firebird
firebird-utils-superserver-2.1.1.17910.0-alt4
firebird-server-superserver-2.1.1.17910.0-alt4
firebird-superserver-2.1.1.17910.0-alt4
...
$ fbsql.superserver -u SYSDBA -p masterkey localhost:/var/lib/firebird/test.fdb
Database: localhost:/var/lib/firebird/test.fdb, User: SYSDBA
...
SQL> SELECT F_UUID1RAND() FROM RDB$DATABASE;
F_UUID1RAND
====================================
f9b124c6-8040-11de-a3fb-8bd803f66b4c
SQL> SELECT F_UUID2UUIDCOMPR('f9b124c6-8040-11de-a3fb-8bd803f66b4c') FROM RDB$DATABASE;
F_UUID2UUIDCOMPR
======================
Statement failed, SQLCODE = -902
Unable to complete network request to host "localhost".
-Error reading data from the connection.
SQL>
Patch: http://git.altlinux.org/people/solo/packages/?p=FreeAdhocUDF.git;a=commitdiff;h=f692c90fe3a301997ae2c1f1fb17b3c81b632ed8 $ rpm -qa|fgrep FreeAdhocUDF FreeAdhocUDF-0.0.0.20090128a-alt2 $ rpm -qa|fgrep firebird firebird-utils-superserver-2.1.1.17910.0-alt4 firebird-server-superserver-2.1.1.17910.0-alt4 firebird-superserver-2.1.1.17910.0-alt4 ... $ fbsql.superserver -u SYSDBA -p masterkey localhost:/var/lib/firebird/test.fdb Database: localhost:/var/lib/firebird/test.fdb, User: SYSDBA ... SQL> SELECT F_UUID1RAND() FROM RDB$DATABASE; F_UUID1RAND ==================================== 9a35adf4-8046-11de-9da5-9e6bfab97493 SQL> SELECT F_UUID2UUIDCOMPR('9a35adf4-8046-11de-9da5-9e6bfab97493') FROM RDB$DATABASE; F_UUID2UUIDCOMPR ====================== 0SOzetR7CZbF5SU2OOBOro SQL> SELECT F_UUIDCOMPR2UUID('0SOzetR7CZbF5SU2OOBOro') FROM RDB$DATABASE; F_UUIDCOMPR2UUID ==================================== 69a35adf4-8046-11de-9da59e6bfab97493 SQL> |
gcc conv_functions.c -Wall -fpic -O -c -I/usr/include -o conv_functions.o In file included from /usr/include/string.h:658, from uuid_functions.c:26: In function 'memset', inlined from 'guid_to__uuid' at uuid_functions.c:135: /usr/include/bits/string3.h:85: error: call to __builtin___memset_chk will always overflow destination buffer make: *** [uuid_functions.o] Error 1