From 7f197bb7b05a5cdd0ec5aa68447266b495d03818 Mon Sep 17 00:00:00 2001 From: drh Date: Wed, 3 Aug 2011 21:32:11 +0000 Subject: [PATCH] Avoid segfaulting on an incremental blob write if SQLITE_ENABLE_PREUPDATE_HOOK set but no pre-update hooks are defined. FossilOrigin-Name: 62c446340475b52b843c0345eda32ebe86fa9159 --- manifest | 14 +++++++------- manifest.uuid | 2 +- src/vdbeblob.c | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/manifest b/manifest index 468757b49e..a887475f95 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\serrors\sin\sa\scomment\sin\ssqlite3session.c.\sNo\schanges\sto\scode. -D 2011-07-26T17:53:53.311 +C Avoid\ssegfaulting\son\san\sincremental\sblob\swrite\sif\sSQLITE_ENABLE_PREUPDATE_HOOK\nset\sbut\sno\spre-update\shooks\sare\sdefined. +D 2011-08-03T21:32:11.649 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 1e6988b3c11dee9bd5edc0c804bd4468d74a9cdc F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -255,7 +255,7 @@ F src/vdbe.h 322af148cceef120bb1ec9cff7f122e76abf94da F src/vdbeInt.h 3de6588b36c833969aebab202e1766d586c37ec2 F src/vdbeapi.c ddd061183e2c3015f676e53ee85fcaf306617e8e F src/vdbeaux.c 7d0b75a04ac466d25a90fefd1df83361a2ab0ad7 -F src/vdbeblob.c a547f286b651641bdb43a567af66d0e776a39ea2 +F src/vdbeblob.c fde0374afb0c512614aed191ac2683f6772d2b8f F src/vdbemem.c 0498796b6ffbe45e32960d6a1f5adfb6e419883b F src/vdbetrace.c 5d0dc3d5fd54878cc8d6d28eb41deb8d5885b114 F src/vtab.c 901791a47318c0562cd0c676a2c6ff1bc530e582 @@ -965,7 +965,7 @@ F tool/symbols.sh caaf6ccc7300fd43353318b44524853e222557d5 F tool/tostr.awk 11760e1b94a5d3dcd42378f3cc18544c06cfa576 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f F tool/warnings.sh 2ebae31e1eb352696f3c2f7706a34c084b28c262 -P dc6ecacd7724089a0387e69a0fd5cdbfdd2023f8 -R 243487bed84c57b1cd5a32970f8d4775 -U dan -Z 2c93411bbe8d90a5b2b924f24cbf2370 +P d5f4c4c0bf0d488db11c6ab0d26ca3554a57d0ff +R dc4862fa4ca184e0298413704bde1899 +U drh +Z abe606476a76771b05a5d0a0f3902dc5 diff --git a/manifest.uuid b/manifest.uuid index 8a22590c14..492ab34ae1 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -d5f4c4c0bf0d488db11c6ab0d26ca3554a57d0ff \ No newline at end of file +62c446340475b52b843c0345eda32ebe86fa9159 \ No newline at end of file diff --git a/src/vdbeblob.c b/src/vdbeblob.c index 4dc9ef4fff..2f37ad933b 100644 --- a/src/vdbeblob.c +++ b/src/vdbeblob.c @@ -392,7 +392,7 @@ static int blobReadWrite( sqlite3BtreeEnterCursor(p->pCsr); #ifdef SQLITE_ENABLE_PREUPDATE_HOOK - if( xCall==sqlite3BtreePutData ){ + if( xCall==sqlite3BtreePutData && db->xPreUpdateCallback ){ /* If a pre-update hook is registered and this is a write cursor, ** invoke it here. ** -- 2.47.3