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#comment1569

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.

_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to