Dixon Hutchinson <[EMAIL PROTECTED]> wrote:
> I am running version 3.3.6 compiled with Visual Studio .net 2003 in a 
> single threaded app.
> 
> While using sqlite3_exec to execute a "COMMIT;", in run into a null 
> pointer problem in sqlite3_step.
> 
> I added tests for the null pointer to vdbeapi.c:
> 
>      if (NULL == p) {
>           DebugBreak();
>       }
>     #ifndef SQLITE_OMIT_EXPLAIN
>       if( p->explain ){
>         rc = sqlite3VdbeList(p);
>       }else
>     #endif /* SQLITE_OMIT_EXPLAIN */
>       {
>         rc = sqlite3VdbeExec(p);
>       }
> 
>       if (NULL == p) {
>           DebugBreak();  /* This is the point the failure is detectected */
>       }
> 
> 
> So it seems that sqlite3VdbeExec(p) is somehow clobbering my statement 
> pointer.
> 

In as much as C is call-by-value, there is nothing that
sqlite3VdbeExec can do to change the value of p.  It looks
like your stack is being overwritten somewhere, perhaps due
to a buffer overrun.
--
D. Richard Hipp   <[EMAIL PROTECTED]>


-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to