BUG: ESQL-C: Divisor in Parentheses May Cause AV in NSQLPREPID: Q158885
|
NSQLPREP may experience an unhandled access violation (AV) when precompiling a C division expression in which the divisor is contained within parentheses. Additionally, the C modulus (%) operator causes the same problem.
To work around this problem, do either of the following:
Microsoft has confirmed this to be a problem in Microsoft Embedded SQL for C Programmer's Toolkit version 6.5. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.
Other operators (such as +, -, and *) do not cause an AV in NSQLPREP.
The following is a sample code fragment that will cause the ESQL-C
precompiler to generate an AV:
int main (int argc, char** argv, char** envp)
{
int x;
EXEC SQL BEGIN DECLARE SECTION;
char o[3];
EXEC SQL END DECLARE SECTION;
x = 1 / (1); // causes AV
return (0);
} /* end program */
int main (int argc, char** argv, char** envp)
{
int x;
char string[] = ""; /* character string assignment */
EXEC SQL BEGIN DECLARE SECTION;
char o[3];
EXEC SQL END DECLARE SECTION;
x = 1 / (1);
return (0);
} /* end program */
Additional query words: ESQL/C ESQL-C
Keywords : kbprg SSrvESQL_C SSrvProg kbbug6.50
Version : 6.5
Platform : WINDOWS
Issue type :
Last Reviewed: April 4, 1999