Error 1131190: ODBC

 
To set a bookmark to this detailed view right-click here

Message Data

Reported

Settlement

Delivered

 
7.5.00.18 Delivered 7.5.00.18  

Created

Processed

Completed

Affected OS

2004-08-30 2004-08-30 2004-08-31 All

Message Texts

Description Solution Patch Information Links

Description

Top
If a very long database name is used with the odbc driver the driver crashes. This stops the wahttp.exe. ac858d10() sqlod32w.dll!pa08GetProfileStringW(unsigned short * lpszSection=0x00000080, unsigned short * lpszEntry=0x7606e3ec, unsigned short * lpszDefault=0x000000b0, unsigned short * lpszReturnBuffer=0x00000000, int cbReturnBuffer=0, unsigned short * szProfileStr=0x0000fa02) Line 1695 + 0xd C sqluser74n.dll!7604ebd9() sqlod32w.dll!sp78convertString(const t_sp77encoding * destEncoding=0x00000080, void * destBuffer=0x7606e3ec, unsigned int destBufferLengthInBytes=176, unsigned int * destBytesWritten=0x014f8748, unsigned char addZeroTerminator='O', const t_sp77encoding * srcEncoding=0x00000000, const void * srcBuffer=0x01cb0254, unsigned int srcBufferLengthInBytes=30170828, unsigned int * srcBytesParsed=0x01d089f8) Line 411 + 0x30 C sqluser74n.dll!7602f2b7() sqlod32w.dll!pr05IfCom_String_strcatP(tpr05_String_struct * dest=0x01d08b28, const char * srcBuf=0x01d089f8, unsigned int srcLength=30443688, const t_sp77encoding * srcEncoding=0x01d08950) Line 567 + 0x9 C sqlod32w.dll!SQLDriverConnectW(void * hdbc=0x01d02190, HWND__ * hwnd=0x00000000, unsigned short * szConnStrIn=0x009c1d70, short cbConnStrIn=856, unsigned short * szConnStrOut=0x014fc804, short cbConnStrOutMax=8192, short * pcbConnStrOut=0x014fe818, unsigned short fDriverCompletion=0) Line 1265 + 0x45 C ODBC32.dll!0032293a() ODBC32.dll!00322aba() ODBC32.dll!00322b42()
 

Solution

Top
into a local buffer it could happen that more bytes than the size of the buffer are copied vpa08msc, pa08GetProfileString: - it was not checked, whether the size of a keyword=value pair of the connect string is bigger than the size of szLine. vpa08msc, pa08GetProfileStringW: - it was not checked, whether the size of a keyword=value pair of the connect string is bigger than the size of szLine. vpa40DBC, SQLDriverConnect: - the connect string must not be longer than about 30KB. The length is given as SQLSMALLINT.
 

Patch Information

Top
1) Preconditions and circumstances Having a very long connect string the ODBC driver crashes in SQLDriverConnect. 2) Solution to the problem Install a new ODBC-driver. 3) Probability that the error occurs For very long connect strings 100%. However, those connect strings would not lead to a connect to the DB anyway. 4) Workaround Do not use connect strings with more than 255 characters per keyword/value pair.
 

Links

Top

Id

Type

Description

   1131075 Error If a very long database name is used with the odbc driver the driver crashes. Th...   
   1131312 Error SQLDriverConnect[W] fails, if the length is SQL_NTS, regardless whether the conn...   
 
  Close Window     Help