diff options
author | danielk1977 <danielk1977@noemail.net> | 2008-11-26 07:40:30 +0000 |
---|---|---|
committer | danielk1977 <danielk1977@noemail.net> | 2008-11-26 07:40:30 +0000 |
commit | 36e20936f6bb1ff8f1a3bfc38fae243b58dc63a0 (patch) | |
tree | 08673b4c827c5602d36b9e051b39e114d5f33ea9 /src | |
parent | 0cd1bbd0b85a119f4403acdc996cca9ff157bf84 (diff) | |
download | sqlite-36e20936f6bb1ff8f1a3bfc38fae243b58dc63a0.tar.gz sqlite-36e20936f6bb1ff8f1a3bfc38fae243b58dc63a0.zip |
Fix an obscure memory leak that can follow an IO error. (CVS 5956)
FossilOrigin-Name: 8271229c66c72c344ad7afb901b88d9cdaaa6f43
Diffstat (limited to 'src')
-rw-r--r-- | src/btree.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/btree.c b/src/btree.c index 8f8e401f5..1c60f6489 100644 --- a/src/btree.c +++ b/src/btree.c @@ -9,7 +9,7 @@ ** May you share freely, never taking more than you give. ** ************************************************************************* -** $Id: btree.c,v 1.541 2008/11/26 07:25:52 danielk1977 Exp $ +** $Id: btree.c,v 1.542 2008/11/26 07:40:30 danielk1977 Exp $ ** ** This file implements a external (disk-based) database using BTrees. ** See the header comment on "btreeInt.h" for additional information. @@ -2927,6 +2927,7 @@ void sqlite3BtreeGetTempCursor(BtCursor *pCur, BtCursor *pTempCur){ for(i=0; i<=pTempCur->iPage; i++){ sqlite3PagerRef(pTempCur->apPage[i]->pDbPage); } + assert( pTempCur->pKey==0 ); } /* @@ -2939,6 +2940,7 @@ void sqlite3BtreeReleaseTempCursor(BtCursor *pCur){ for(i=0; i<=pCur->iPage; i++){ sqlite3PagerUnref(pCur->apPage[i]->pDbPage); } + sqlite3_free(pCur->pKey); } /* |