From: drh Date: Thu, 3 Feb 2005 00:29:47 +0000 (+0000) Subject: Make sure the rc variable in OsWrite of os_win.c is always initialized. X-Git-Tag: version-3.6.10~3843 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4c7f941cfc946f745f0a9c1ba1743978eb832e1f;p=thirdparty%2Fsqlite.git Make sure the rc variable in OsWrite of os_win.c is always initialized. Also assert that the amt parameter is always greater than zero. Ticket #1094. (CVS 2309) FossilOrigin-Name: 4b399ae7791288e5d44f90da530908d9ca77ff4b --- diff --git a/manifest b/manifest index 46570ea99c..500077628f 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\scomment\sin\ssqlite3.h.\sNo\scode\schanges.\sTicket\s#1093.\s(CVS\s2308) -D 2005-02-02T01:13:38 +C Make\ssure\sthe\src\svariable\sin\sOsWrite\sof\sos_win.c\sis\salways\sinitialized.\nAlso\sassert\sthat\sthe\samt\sparameter\sis\salways\sgreater\sthan\szero.\nTicket\s#1094.\s(CVS\s2309) +D 2005-02-03T00:29:47 F Makefile.in ffd81f5e926d40b457071b4de8d7c1fa18f39b5a F Makefile.linux-gcc a9e5a0d309fa7c38e7c14d3ecf7690879d3a5457 F README a01693e454a00cc117967e3f9fdab2d4d52e9bc1 @@ -48,9 +48,9 @@ F src/os.h ae44064dc118b20d39450cb331409a775e8bb1c6 F src/os_common.h 0e7f428ba0a6c40a61bc56c4e96f493231301b73 F src/os_test.c 91e5f22dd89491e5e1554820e715805f43fa4ece F src/os_test.h 6a26a4978492e4bbdbf385554958418ff02db162 -F src/os_unix.c 1f17ceff056c64939e5f2e98bf909fc64d0929ca +F src/os_unix.c 68d3d32937eee90fe1f50d500d1a4ee826cbe790 F src/os_unix.h f3097815e041e82e24d92505e1ff61ba24172d13 -F src/os_win.c 3c0b0a3bc33318cf555a1cd130232ad1b9a5a711 +F src/os_win.c bddeae1c3299be0fbe47077dd4e98b786a067f71 F src/os_win.h 41a946bea10f61c158ce8645e7646b29d44f122b F src/pager.c d21565d0e844712809140632062a7b72b768fdff F src/pager.h 9eba8c53dd91eae7f3f90743b2ee242da02a9862 @@ -254,12 +254,12 @@ F www/dynload.tcl 02eb8273aa78cfa9070dd4501dca937fb22b466c F www/faq.tcl 1e348dec52dc0f21f4216fd6918c69c56daa4cfd F www/fileformat.tcl 900c95b9633abc3dcfc384d9ddd8eb4876793059 F www/formatchng.tcl bfbf14dbf5181e771d06da7797767b0200b36d8a -F www/index.tcl 2ac775d5247922fd0f5d62178b28d41ccaed7d01 +F www/index.tcl 8cd6d913cccfbd8d46e9b1310fb329fdfbf6053a F www/lang.tcl aeb76706558763b3847390a646b3a0ab649c468c F www/lockingv3.tcl f59b19d6c8920a931f096699d6faaf61c05db55f F www/mingw.tcl d96b451568c5d28545fefe0c80bee3431c73f69c F www/nulls.tcl ec35193f92485b87b90a994a01d0171b58823fcf -F www/oldnews.tcl e8851b24fe424364cd0f3f36b1b4036effea60ef +F www/oldnews.tcl 5cd036f0c76e4ba3111f153a4ff4c9e5e34b6038 F www/omitted.tcl 9f332aea97b47ec53234f4cd9aa4b4a6da8641ec F www/opcode.tcl dafa030a5a3cc24a2f9fd4cfbfb7d7323d2151b0 F www/optimizing.tcl f0b2538988d1bbad16cbfe63ec6e8f48c9eb04e5 @@ -272,7 +272,7 @@ F www/tclsqlite.tcl e73f8f8e5f20e8277619433f7970060ab01088fc F www/vdbe.tcl 095f106d93875c94b47367384ebc870517431618 F www/version3.tcl 092a01f5ef430d2c4acc0ae558d74c4bb89638a0 F www/whentouse.tcl 3e522a06ad41992023c80ca29a048ae2331ca5bd -P 506088796c846243e24c4cba6be4ce6511fdb345 -R 0ba2e9f3b7d1ba33d703d526a858f307 -U danielk1977 -Z a1ecd87fa80c4e91a7bb3da07993c58a +P d1ea2fb70be905947c8ff74da8e1f719a8fb85f5 +R c85ccce2907809e515bc05d150167893 +U drh +Z 76aa18a2185ff42425ab752d44606f71 diff --git a/manifest.uuid b/manifest.uuid index 15a0856048..622dc807fc 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -d1ea2fb70be905947c8ff74da8e1f719a8fb85f5 \ No newline at end of file +4b399ae7791288e5d44f90da530908d9ca77ff4b \ No newline at end of file diff --git a/src/os_unix.c b/src/os_unix.c index 13da7439c1..0e270c0bb6 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -661,6 +661,7 @@ int sqlite3OsRead(OsFile *id, void *pBuf, int amt){ int sqlite3OsWrite(OsFile *id, const void *pBuf, int amt){ int wrote = 0; assert( id->isOpen ); + assert( amt>0 ); SimulateIOError(SQLITE_IOERR); SimulateDiskfullError; TIMER_START; diff --git a/src/os_win.c b/src/os_win.c index e2c09d250d..2614ed08a6 100644 --- a/src/os_win.c +++ b/src/os_win.c @@ -275,12 +275,13 @@ int sqlite3OsRead(OsFile *id, void *pBuf, int amt){ ** or some other error code on failure. */ int sqlite3OsWrite(OsFile *id, const void *pBuf, int amt){ - int rc; + int rc = 0; DWORD wrote; assert( id->isOpen ); SimulateIOError(SQLITE_IOERR); SimulateDiskfullError; TRACE3("WRITE %d lock=%d\n", id->h, id->locktype); + assert( amt>0 ); while( amt>0 && (rc = WriteFile(id->h, pBuf, amt, &wrote, 0))!=0 && wrote>0 ){ amt -= wrote; pBuf = &((char*)pBuf)[wrote]; diff --git a/www/index.tcl b/www/index.tcl index ab48b880b6..8473c6a7ff 100644 --- a/www/index.tcl +++ b/www/index.tcl @@ -61,16 +61,14 @@ proc newsitem {date title text} { puts "
" } -newsitem {2005-Jan-21} {Version 3.1.0 (alpha) Released} { - Version 3.1.0 (alpha) is now available on the - website. Verison 3.1.0 is fully backwards compatible with the 3.0 series +newsitem {2005-Feb-01} {Version 3.1.1 (beta) Released} { + Version 3.1.1 (beta) is now available on the + website. Verison 3.1.1 is fully backwards compatible with the 3.0 series and features many new features including Autovacuum and correlated - subqueries. See the + subqueries. The release notes - for details. - - This is an alpha release. A beta release is expected in about a week - with the first stable release to follow after two more weeks. + From version 3.1.0 apply equally to this release beta. A stable release + is expected within a couple of weeks. } newsitem {2004-Nov-09} {SQLite at the 2004 International PHP Conference} { @@ -105,4 +103,4 @@ puts {

Old news...

} -footer {$Id: index.tcl,v 1.104 2005/01/21 18:19:28 drh Exp $} +footer {$Id: index.tcl,v 1.105 2005/02/03 00:29:47 drh Exp $} diff --git a/www/oldnews.tcl b/www/oldnews.tcl index bef40216aa..c81dc57b89 100644 --- a/www/oldnews.tcl +++ b/www/oldnews.tcl @@ -9,6 +9,18 @@ proc newsitem {date title text} { puts "
" } +newsitem {2005-Jan-21} {Version 3.1.0 (alpha) Released} { + Version 3.1.0 (alpha) is now available on the + website. Verison 3.1.0 is fully backwards compatible with the 3.0 series + and features many new features including Autovacuum and correlated + subqueries. See the + release notes + for details. + + This is an alpha release. A beta release is expected in about a week + with the first stable release to follow after two more weeks. +} + newsitem {2004-Oct-11} {Version 3.0.8} { Version 3.0.8 of SQLite contains several code optimizations and minor bug fixes and adds support for DEFERRED, IMMEDIATE, and EXCLUSIVE @@ -129,4 +141,4 @@ newsitem {2004-Apr-23} {Work Begins On SQLite Version 3} { Plans are to continue to support SQLite version 2.8 with bug fixes. But all new development will occur in version 3.0. } -footer {$Id: oldnews.tcl,v 1.8 2005/01/21 18:19:29 drh Exp $} +footer {$Id: oldnews.tcl,v 1.9 2005/02/03 00:29:48 drh Exp $}