From 0472b5ad3f121fd6e83bea7fb8a61976dd9622eb Mon Sep 17 00:00:00 2001 From: drh Date: Fri, 19 Jun 2009 02:25:48 +0000 Subject: [PATCH] Fix a possible segfault when backing up an encrypted database. (CVS 6785) FossilOrigin-Name: 7d8f178c8145b90da31f6557f7cd99d154eb676e --- manifest | 12 ++++++------ manifest.uuid | 2 +- src/pager.c | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/manifest b/manifest index 5617aad511..b7902e4c97 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Make\ssure\sthe\ssqlite3VdbeGetOp()\ssubroutine\sworks\seven\swhen\sSQLite\sis\ncompiled\swith\sSQLITE_OMIT_TRACE.\s(CVS\s6784) -D 2009-06-19T00:33:32 +C Fix\sa\spossible\ssegfault\swhen\sbacking\sup\san\sencrypted\sdatabase.\s(CVS\s6785) +D 2009-06-19T02:25:49 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in 8b8fb7823264331210cddf103831816c286ba446 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -146,7 +146,7 @@ F src/os_common.h 8c61457df58f1a4bd5f5adc3e90e01b37bf7afbc F src/os_os2.c bed77dc26e3a95ce4a204936b9a1ca6fe612fcc5 F src/os_unix.c b64129c296e480c2827606e206ea51bb30904626 F src/os_win.c 725c38a524d168ce280446ad8761d731bc516405 -F src/pager.c 3edf86ef797defae17bc32407626ca2ce7442d7b +F src/pager.c afe8e53fef52725e05b32ca6e2cfef04b933ca48 F src/pager.h 5aec418bf99f568b92ae82816a1463400513726d F src/parse.y bab89225c2543a350ef96995926520bbbd781aba F src/pcache.c 395f752a13574120bd7513a400ba02a265aaa76d @@ -736,7 +736,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/vdbe-compress.tcl 672f81d693a03f80f5ae60bfefacd8a349e76746 -P 87d6796d986e4d5238252e704d936ab4407a0265 -R a70a1ca61dc3d6f4216d562f52d535d5 +P 1c8ec2a6e4efbb3fdc58f999b7b725fa5dc4d0e9 +R 3d7c0621c5ac9f2c379cadce398f647c U drh -Z 9502f7414b8e904937dc49dc8f715629 +Z 575e2486b6c7837b5553271f9ae077bd diff --git a/manifest.uuid b/manifest.uuid index 2bfc872cdf..d750c06bfb 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -1c8ec2a6e4efbb3fdc58f999b7b725fa5dc4d0e9 \ No newline at end of file +7d8f178c8145b90da31f6557f7cd99d154eb676e \ No newline at end of file diff --git a/src/pager.c b/src/pager.c index a10c61c737..309e141b04 100644 --- a/src/pager.c +++ b/src/pager.c @@ -18,7 +18,7 @@ ** file simultaneously, or one process from reading the database while ** another is writing. ** -** @(#) $Id: pager.c,v 1.596 2009/06/19 00:33:32 drh Exp $ +** @(#) $Id: pager.c,v 1.597 2009/06/19 02:25:49 drh Exp $ */ #ifndef SQLITE_OMIT_DISKIO #include "sqliteInt.h" @@ -1533,9 +1533,9 @@ static int pager_playback_one_page( pPager->dbFileSize = pgno; } if( pPager->pBackup ){ - CODEC1(pPager, aData, pPg->pgno, 3, rc=SQLITE_NOMEM); + CODEC1(pPager, aData, pgno, 3, rc=SQLITE_NOMEM); sqlite3BackupUpdate(pPager->pBackup, pgno, aData); - CODEC1(pPager, aData, pPg->pgno, 0, rc=SQLITE_NOMEM); + CODEC1(pPager, aData, pgno, 0, rc=SQLITE_NOMEM); } }else if( !isMainJrnl && pPg==0 ){ /* If this is a rollback of a savepoint and data was not written to