THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
The following task has a new comment added:
FS#443 - db_unixodbc cannot load more than 1024 bytes from a database field (patch
supplied)
User who did this - Alex Villacis Lasso (a_villacis)
----------
I have made a new version of the patch:
* db_unixodbc_load_cell() now returns an error code that is checked in the recordset
loops
* With the previous patch, two additional problems became apparent. First, BLOB columns
are read with SQL_C_CHAR, resulting in an unwanted conversion to an hexadecimal string.
Second, even if the database column is converted to a TEXT datatype, the driver still
considers it a DB1_BLOB. This results in all length calculations including the extra NULL
byte at the end of the string. This extra byte appears in XCAP responses and breaks at
least Jitsi. Both problems are now solved by passing an additional parameter to
db_unixodbc_load_cell() telling what column type is supposed to be read. Also, the buflen
field is trusted to have the actual value length, and this is used to convert the row
instead of a strlen().
* In db_unixodbc_list_insert(), memcpy is used instead of strncpy, in order to cope with
fields with embedded nulls from BLOB columns. Also, the method was shortened by factoring
out commonalities between the cases of inserting a first node vs inserting a non-first
node.
----------
One or more files have been attached.
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=443#comment1…
You are receiving this message because you have requested it from the Flyspray bugtracking
system. If you did not expect this message or don't want to receive mails in future,
you can change your notification settings at the URL shown above.