1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-07 02:42:48 +03:00

Fix a possible segfault when backing up an encrypted database. (CVS 6785)

FossilOrigin-Name: 7d8f178c8145b90da31f6557f7cd99d154eb676e
This commit is contained in:
drh
2009-06-19 02:25:48 +00:00
parent 37b89a0186
commit 0472b5ad3f
3 changed files with 10 additions and 10 deletions

View File

@@ -1,5 +1,5 @@
C Make\ssure\sthe\ssqlite3VdbeGetOp()\ssubroutine\sworks\seven\swhen\sSQLite\sis\ncompiled\swith\sSQLITE_OMIT_TRACE.\s(CVS\s6784) C Fix\sa\spossible\ssegfault\swhen\sbacking\sup\san\sencrypted\sdatabase.\s(CVS\s6785)
D 2009-06-19T00:33:32 D 2009-06-19T02:25:49
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in 8b8fb7823264331210cddf103831816c286ba446 F Makefile.in 8b8fb7823264331210cddf103831816c286ba446
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -146,7 +146,7 @@ F src/os_common.h 8c61457df58f1a4bd5f5adc3e90e01b37bf7afbc
F src/os_os2.c bed77dc26e3a95ce4a204936b9a1ca6fe612fcc5 F src/os_os2.c bed77dc26e3a95ce4a204936b9a1ca6fe612fcc5
F src/os_unix.c b64129c296e480c2827606e206ea51bb30904626 F src/os_unix.c b64129c296e480c2827606e206ea51bb30904626
F src/os_win.c 725c38a524d168ce280446ad8761d731bc516405 F src/os_win.c 725c38a524d168ce280446ad8761d731bc516405
F src/pager.c 3edf86ef797defae17bc32407626ca2ce7442d7b F src/pager.c afe8e53fef52725e05b32ca6e2cfef04b933ca48
F src/pager.h 5aec418bf99f568b92ae82816a1463400513726d F src/pager.h 5aec418bf99f568b92ae82816a1463400513726d
F src/parse.y bab89225c2543a350ef96995926520bbbd781aba F src/parse.y bab89225c2543a350ef96995926520bbbd781aba
F src/pcache.c 395f752a13574120bd7513a400ba02a265aaa76d F src/pcache.c 395f752a13574120bd7513a400ba02a265aaa76d
@@ -736,7 +736,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
F tool/vdbe-compress.tcl 672f81d693a03f80f5ae60bfefacd8a349e76746 F tool/vdbe-compress.tcl 672f81d693a03f80f5ae60bfefacd8a349e76746
P 87d6796d986e4d5238252e704d936ab4407a0265 P 1c8ec2a6e4efbb3fdc58f999b7b725fa5dc4d0e9
R a70a1ca61dc3d6f4216d562f52d535d5 R 3d7c0621c5ac9f2c379cadce398f647c
U drh U drh
Z 9502f7414b8e904937dc49dc8f715629 Z 575e2486b6c7837b5553271f9ae077bd

View File

@@ -1 +1 @@
1c8ec2a6e4efbb3fdc58f999b7b725fa5dc4d0e9 7d8f178c8145b90da31f6557f7cd99d154eb676e

View File

@@ -18,7 +18,7 @@
** file simultaneously, or one process from reading the database while ** file simultaneously, or one process from reading the database while
** another is writing. ** 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 #ifndef SQLITE_OMIT_DISKIO
#include "sqliteInt.h" #include "sqliteInt.h"
@@ -1533,9 +1533,9 @@ static int pager_playback_one_page(
pPager->dbFileSize = pgno; pPager->dbFileSize = pgno;
} }
if( pPager->pBackup ){ 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); 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 ){ }else if( !isMainJrnl && pPg==0 ){
/* If this is a rollback of a savepoint and data was not written to /* If this is a rollback of a savepoint and data was not written to