Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Handle a malloc() failure in resizeOpArray(). (CVS 3030) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
5cecb4527b40c245cc6f3d6ce9f33466 |
User & Date: | danielk1977 2006-01-26 10:35:05.000 |
Context
2006-01-26
| ||
13:11 | Add omittest.tcl script to automate testing compile-time OMIT symbols. (CVS 3031) (check-in: 540d28a7d3 user: danielk1977 tags: trunk) | |
10:35 | Handle a malloc() failure in resizeOpArray(). (CVS 3030) (check-in: 5cecb4527b user: danielk1977 tags: trunk) | |
2006-01-25
| ||
22:50 | Minor comment changes and code optimizations. (CVS 3029) (check-in: 9e55dcd1a5 user: drh tags: trunk) | |
Changes
Changes to src/vdbeaux.c.
︙ | ︙ | |||
54 55 56 57 58 59 60 | void sqlite3VdbeTrace(Vdbe *p, FILE *trace){ p->trace = trace; } /* ** Resize the Vdbe.aOp array so that it contains at least N ** elements. If the Vdbe is in VDBE_MAGIC_RUN state, then | | | > > > > > > | 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | void sqlite3VdbeTrace(Vdbe *p, FILE *trace){ p->trace = trace; } /* ** Resize the Vdbe.aOp array so that it contains at least N ** elements. If the Vdbe is in VDBE_MAGIC_RUN state, then ** the Vdbe.aOp array will be sized to contain exactly N ** elements. Vdbe.nOpAlloc is set to reflect the new size of ** the array. ** ** If an out-of-memory error occurs while resizing the array, ** Vdbe.aOp and Vdbe.nOpAlloc remain unchanged (this is so that ** any opcodes already allocated can be correctly deallocated ** along with the rest of the Vdbe). */ static void resizeOpArray(Vdbe *p, int N){ int runMode = p->magic==VDBE_MAGIC_RUN; if( runMode || p->nOpAlloc<N ){ VdbeOp *pNew; int nNew = N + 100*(!runMode); int oldSize = p->nOpAlloc; |
︙ | ︙ | |||
98 99 100 101 102 103 104 | int i; VdbeOp *pOp; i = p->nOp; p->nOp++; assert( p->magic==VDBE_MAGIC_INIT ); resizeOpArray(p, i+1); | < | | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | int i; VdbeOp *pOp; i = p->nOp; p->nOp++; assert( p->magic==VDBE_MAGIC_INIT ); resizeOpArray(p, i+1); if( sqlite3MallocFailed() ){ return 0; } pOp = &p->aOp[i]; pOp->opcode = op; pOp->p1 = p1; pOp->p2 = p2; pOp->p3 = 0; |
︙ | ︙ |