]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Modify selectColumnsFromExprList() to avoid ever incorrectly returning SQLITE_NOMEM.
authordan <dan@noemail.net>
Sat, 31 Mar 2012 15:08:56 +0000 (15:08 +0000)
committerdan <dan@noemail.net>
Sat, 31 Mar 2012 15:08:56 +0000 (15:08 +0000)
FossilOrigin-Name: e7cb6b73ac079d0751b3f9429d0f6a35ca8ec853

manifest
manifest.uuid
src/select.c

index 94e4cca145cd295839646b937771b0e6f561241e..8360172a4546ec561df8de76400cd18b548e984f 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Change\sthe\sICU\stokenizer\sso\sthat\sit\sdoes\snot\sattempt\sto\scall\sstrlen(NULL).
-D 2012-03-31T11:58:23.752
+C Modify\sselectColumnsFromExprList()\sto\savoid\sever\sincorrectly\sreturning\sSQLITE_NOMEM.
+D 2012-03-31T15:08:56.437
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 2f37e468503dbe79d35c9f6dffcf3fae1ae9ec20
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -181,7 +181,7 @@ F src/printf.c 7ffb4ebb8b341f67e049695ba031da717b3d2699
 F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50
 F src/resolve.c 3d3e80a98f203ac6b9329e9621e29eda85ddfd40
 F src/rowset.c 69afa95a97c524ba6faf3805e717b5b7ae85a697
-F src/select.c f6f141cb1ea13f1e6564d3e162700e4937baa2a1
+F src/select.c 5e0e481c7d215d3c7ca8ccae1e688aa30163c6c1
 F src/shell.c abf18d6ee54f2631860a98fdd7ab1327f470db67
 F src/sqlite.h.in 11a883919b0baf4ffaa7550cfeef99be613ec2bf
 F src/sqlite3ext.h 6904f4aadf976f95241311fbffb00823075d9477
@@ -999,7 +999,7 @@ F tool/tostr.awk e75472c2f98dd76e06b8c9c1367f4ab07e122d06
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
 F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a
 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
-P c9342ca58105499a5eb61c3e6d016559b6072c95
-R e0716dc6380f52d6136a7e11cf5bb377
+P 04298f1ac42c40cb2a48092b415acf96a08954b7
+R 0f878dd95f65af523296a3016003b93f
 U dan
-Z be3c953a1198ae2a4c78c4ed2dd05529
+Z 97900e673e834268c29dd651e4b74076
index de3255bc98720dab5d086abc1ef554fe8dd21918..bd4af99639543546787e5046e89c70b3e4c8d01f 100644 (file)
@@ -1 +1 @@
-04298f1ac42c40cb2a48092b415acf96a08954b7
\ No newline at end of file
+e7cb6b73ac079d0751b3f9429d0f6a35ca8ec853
\ No newline at end of file
index c22501367239879fa93a4432ba52815770db4a73..b44220ebcf1b4c3776d1ef465ff7949c8a9c3f99 100644 (file)
@@ -1258,9 +1258,17 @@ static int selectColumnsFromExprList(
   char *zName;                /* Column name */
   int nName;                  /* Size of name in zName[] */
 
-  *pnCol = nCol = pEList ? pEList->nExpr : 0;
-  aCol = *paCol = sqlite3DbMallocZero(db, sizeof(aCol[0])*nCol);
-  if( aCol==0 ) return SQLITE_NOMEM;
+  if( pEList ){
+    nCol = pEList->nExpr;
+    aCol = sqlite3DbMallocZero(db, sizeof(aCol[0])*nCol);
+    testcase( aCol==0 );
+  }else{
+    nCol = 0;
+    aCol = 0;
+  }
+  *pnCol = nCol;
+  *paCol = aCol;
+
   for(i=0, pCol=aCol; i<nCol; i++, pCol++){
     /* Get an appropriate name for the column
     */