From: dan Date: Tue, 9 Jan 2018 07:16:51 +0000 (+0000) Subject: Fix a problem in zipfile.c found by -fsanitize. X-Git-Tag: version-3.22.0~78 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cc234a4b664fc455209ae2b40b8d6cb286b1f882;p=thirdparty%2Fsqlite.git Fix a problem in zipfile.c found by -fsanitize. FossilOrigin-Name: 4fe697fa6c2b45aec60c33eff1ce2ea97b8a2ca124ef0c0059930269d25cdb2e --- diff --git a/ext/misc/zipfile.c b/ext/misc/zipfile.c index b6357545b2..f9acdf014a 100644 --- a/ext/misc/zipfile.c +++ b/ext/misc/zipfile.c @@ -1152,13 +1152,13 @@ static int zipfileAppendEntry( return rc; } -static int zipfileGetMode(ZipfileTab *pTab, sqlite3_value *pVal, int *pMode){ +static int zipfileGetMode(ZipfileTab *pTab, sqlite3_value *pVal, u32 *pMode){ const char *z = (const char*)sqlite3_value_text(pVal); - int mode = 0; + u32 mode = 0; if( z==0 ){ - mode = 33188; /* -rw-r--r-- */ + mode = S_IFREG + 0644; /* -rw-r--r-- */ }else if( z[0]>=0 && z[0]<=9 ){ - mode = sqlite3_value_int(pVal); + mode = (unsigned int)sqlite3_value_int(pVal); }else{ const char zTemplate[11] = "-rwxrwxrwx"; int i; @@ -1197,7 +1197,7 @@ static int zipfileUpdate( int rc = SQLITE_OK; /* Return Code */ ZipfileEntry *pNew = 0; /* New in-memory CDS entry */ - int mode; /* Mode for new entry */ + u32 mode; /* Mode for new entry */ i64 mTime; /* Modification time for new entry */ i64 sz = 0; /* Uncompressed size */ const char *zPath; /* Path for new entry */ diff --git a/manifest b/manifest index 9ee3ad94d3..750572561e 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Avoid\sa\scompiler\swarning\swhen\sbuilding\swith\snewer\sversions\sof\sMinGW -D 2018-01-09T02:27:13.505 +C Fix\sa\sproblem\sin\szipfile.c\sfound\sby\s-fsanitize. +D 2018-01-09T07:16:51.597 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F Makefile.in 12b6daa4bdb03fa87da27cbc205ff88ace645475b5be79414a3038b68ade14cb @@ -303,7 +303,7 @@ F ext/misc/vfsstat.c bf10ef0bc51e1ad6756629e1edb142f7a8db1178 F ext/misc/vtablog.c 31d0d8f4406795679dcd3a67917c213d3a2a5fb3ea5de35f6e773491ed7e13c9 F ext/misc/vtshim.c 1976e6dd68dd0d64508c91a6dfab8e75f8aaf6cd F ext/misc/wholenumber.c 784b12543d60702ebdd47da936e278aa03076212 -F ext/misc/zipfile.c 9c3f5d7ebee44c7d2ee271232fda5e787261fd082f673caea32f14739c782059 +F ext/misc/zipfile.c b694574b715dc6ea353c90e0fa31f30faa2121e59bd9e1ae40f874300114a84f F ext/rbu/rbu.c ea7d1b7eb44c123a2a619332e19fe5313500705c4a58aaa1887905c0d83ffc2e F ext/rbu/rbu1.test 43836fac8c7179a358eaf38a8a1ef3d6e6285842 F ext/rbu/rbu10.test 1846519a438697f45e9dcb246908af81b551c29e1078d0304fae83f1fed7e9ee @@ -1697,7 +1697,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 4a7236140cb0f40fa846da4673a0d56218def1929d58cf016909ce881a681140 -R 79b1c4b885f55f7c11d5769bd78fff72 -U drh -Z 1c8c6d539242ddf8ecab679f4369ea9e +P cba0206a15f30313e16a08634995ebfd5d325d83affb859a215e72509f539b4e +R 8cb58dd5bd00b76b67672fc7e3030d3c +U dan +Z bb6663f307bb629de0b63290f8475ee1 diff --git a/manifest.uuid b/manifest.uuid index 900719d377..02e21911d2 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -cba0206a15f30313e16a08634995ebfd5d325d83affb859a215e72509f539b4e \ No newline at end of file +4fe697fa6c2b45aec60c33eff1ce2ea97b8a2ca124ef0c0059930269d25cdb2e \ No newline at end of file