Hello All,
In reviewing code in sqlite 3.8.11.1, I found a pair of calls to
sqlite3_realloc64() which upon return are NOT checked for a return
value of NULL, indicating failure. The patch file below should
correct this issue:
=======================================================================
--- shell.c.orig 2015-08-22 18:33:38.146000000 -0700
+++ shell.c 2015-08-22 18:36:40.848000000 -0700
@@ -1441,6 +1441,10 @@
p->aiIndent = (int*)sqlite3_realloc64(p->aiIndent,
nAlloc*sizeof(int));
abYield = (int*)sqlite3_realloc64(abYield, nAlloc*sizeof(int));
}
+ if ( !p->aiIndent || !abYield ){
+ fprintf(stderr, "out of memory\n");
+ exit(1);
+ }
abYield[iOp] = str_in_array(zOp, azYield);
p->aiIndent[iOp] = 0;
p->nIndent = iOp+1;
=======================================================================
I am attaching the patch file to this bug report...
Questions, Comments, Suggestions, Complaints? :)
Bill Parker (wp02855 at gmail dot com)