When transfering an error message from a statement handle to the database handle so that it can be accessed by sqlite3_errmsg(), a malloc may fail. If this malloc fails, it is considered benign. (CVS 5806)

FossilOrigin-Name: 311003aff85e6b6c47e854d33f46eee31da6f30c
This commit is contained in:
danielk1977 2008-10-11 17:51:38 +00:00
parent 419fcf66db
commit 9ff3f3f772
3 changed files with 11 additions and 9 deletions

View File

@ -1,5 +1,5 @@
C Conditionally\somit\sprototypes\sin\spcache.h\swhen\sthe\scorresponding\sroutines\nare\snot\sused.\s\sTicket\s#3430.\s(CVS\s5805)
D 2008-10-11T17:42:29
C When\stransfering\san\serror\smessage\sfrom\sa\sstatement\shandle\sto\sthe\sdatabase\shandle\sso\sthat\sit\scan\sbe\saccessed\sby\ssqlite3_errmsg(),\sa\smalloc\smay\sfail.\sIf\sthis\smalloc\sfails,\sit\sis\sconsidered\sbenign.\s(CVS\s5806)
D 2008-10-11T17:51:39
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in 7fc26e087207e7a4a7723583dbd7997477af3b13
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@ -194,7 +194,7 @@ F src/vdbe.c b78adf571b9abac4092c641bec148832e8f26f34
F src/vdbe.h 41c99aaad9167c1b5431993db446de74b2f71fc3
F src/vdbeInt.h a20f479ec3bf41c61b0c2bd5176a9bad6b2a07ef
F src/vdbeapi.c fd2c286cee63a146d5110c11c0aa2bf3a9ebe220
F src/vdbeaux.c 20a7d109c95e32beee7891fba828c63e419af26c
F src/vdbeaux.c e007aa723a059b1e5357c15420eea84095de828a
F src/vdbeblob.c b0dcebfafedcf9c0addc7901ad98f6f986c08935
F src/vdbefifo.c 20fda2a7c4c0bcee1b90eb7e545fefcdbf2e1de7
F src/vdbemem.c ead88713b852576e2a924bc4ae696964bfbaec0a
@ -648,7 +648,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81
F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
P 63dd8be70d333c56171dfd254406abb1af685b0f
R 2e8a3aab50bc76e37d67dde55564ae76
U drh
Z ec55c75de0e3851eb41128595a9d99a7
P 977ae12c365846e1bc582fd17146151953b5ed68
R 9c89f9db01f9afd53fe43920196dd01f
U danielk1977
Z 7852ef6101c10f09690b75f08c78bd02

View File

@ -1 +1 @@
977ae12c365846e1bc582fd17146151953b5ed68
311003aff85e6b6c47e854d33f46eee31da6f30c

View File

@ -14,7 +14,7 @@
** to version 2.8.7, all this code was combined into the vdbe.c source file.
** But that file was getting too big so this subroutines were split out.
**
** $Id: vdbeaux.c,v 1.411 2008/09/19 18:32:27 danielk1977 Exp $
** $Id: vdbeaux.c,v 1.412 2008/10/11 17:51:39 danielk1977 Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
@ -1731,7 +1731,9 @@ int sqlite3VdbeReset(Vdbe *p){
*/
if( p->pc>=0 ){
if( p->zErrMsg ){
sqlite3BeginBenignMalloc();
sqlite3ValueSetStr(db->pErr,-1,p->zErrMsg,SQLITE_UTF8,SQLITE_TRANSIENT);
sqlite3EndBenignMalloc();
db->errCode = p->rc;
sqlite3DbFree(db, p->zErrMsg);
p->zErrMsg = 0;