 |
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 |
|
 |
 |
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()
 |
 |
 |
|
 |
 |
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.
 |
 |
| |
 |
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.
 |
 |
| |
 |
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... |
|
| |
|