freetds AT lists.ibiblio.org
Subject: FreeTDS Development Group
List archive
Re: [freetds] assert in odbc driver for long error messages
- From: Frediano Ziglio <freddy77 AT gmail.com>
- To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
- Subject: Re: [freetds] assert in odbc driver for long error messages
- Date: Sat, 21 Apr 2012 14:07:40 +0100
Fixed and backported to 0.91.
The assert was wrong.
Frediano
Il 20 aprile 2012 21:45, Frediano Ziglio <freddy77 AT gmail.com> ha scritto:
> Il 17 aprile 2012 14:35, Mark Brand <mabrand AT mabrand.nl> ha scritto:
>> Hi,
>>
>> It seems that a rather long error message raised from a stored procedure
>> triggers an ASSERT in the FreeTDS ODBC driver:
>>
>> unicode: odbc_util.c:391: odbc_set_string_flag: Assertion `dest == ((void
>> *)0) || dest-(SQLWCHAR*) buffer == out_len' failed.
>> Aborted
>>
>> The attached rather primitive code illustrates the problem. The stored
>> procedure is in the comment at the top.
>>
>> I'm not very familiar with the code in question, but it looks to me that
>> odbc_set_string_flag() is copying more than bytes than the limit imposed by
>> cbBuffer, which is called cbErrorMsgMax from tdsdump_log() in error.c. In
>> my
>> debugger I see that initial_size is 1024 while out_len is 1127 just before
>> the ASSERT.
>>
>> regards,
>>
>> Mark
>>
>
> Adapted and added to our test suite
>
> http://gitorious.org/freetds/freetds/commit/dc5c5bf68f947a69af01939d7f4ce003363e64c9
>
> Still fails, work in progress.
>
> Frediano
-
[freetds] assert in odbc driver for long error messages,
Mark Brand, 04/17/2012
-
Re: [freetds] assert in odbc driver for long error messages,
Frediano Ziglio, 04/20/2012
- Re: [freetds] assert in odbc driver for long error messages, Frediano Ziglio, 04/21/2012
-
Re: [freetds] assert in odbc driver for long error messages,
Frediano Ziglio, 04/20/2012
Archive powered by MHonArc 2.6.24.