]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix problems with handling return value of mmap() in lsm_unix.c (mmap() returns MAP_F...
authordan <dan@noemail.net>
Mon, 22 Jun 2020 16:02:06 +0000 (16:02 +0000)
committerdan <dan@noemail.net>
Mon, 22 Jun 2020 16:02:06 +0000 (16:02 +0000)
FossilOrigin-Name: da06168c09df5c0e8e10d0f9618e69217d4c0173a8199660bad2805f009d7b08

ext/lsm1/lsm_unix.c
manifest
manifest.uuid

index 22240771ea6fa786bf1bfe334f7d8d3d87fa9bda..88952d15fc721ac19747a0cf284b7f7b28520c45 100644 (file)
@@ -228,6 +228,10 @@ static int lsmPosixOsRemap(
     }
 
     p->pMap = mmap(0, iSz, PROT_READ|PROT_WRITE, MAP_SHARED, p->fd, 0);
+    if( p->pMap==MAP_FAILED ){
+      p->pMap = 0;
+      return LSM_IOERR_BKPT;
+    }
     p->nMap = iSz;
   }
 
@@ -413,7 +417,10 @@ static int lsmPosixOsShmMap(lsm_file *pFile, int iChunk, int sz, void **ppShm){
     p->apShm[iChunk] = mmap(0, LSM_SHM_CHUNK_SIZE, 
         PROT_READ|PROT_WRITE, MAP_SHARED, p->shmfd, iChunk*LSM_SHM_CHUNK_SIZE
     );
-    if( p->apShm[iChunk]==0 ) return LSM_IOERR_BKPT;
+    if( p->apShm[iChunk]==MAP_FAILED ){
+      p->apShm[iChunk] = 0;
+      return LSM_IOERR_BKPT;
+    }
   }
 
   *ppShm = p->apShm[iChunk];
index 6ad5a71c9dbb05dc8943b38dec06e0dc816290e5..22fdff5e281f805edd101e8e88b1077b15578e54 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,12 +1,13 @@
 B 7a876209a678a34c198b54ceef9e3c041f128a14dc73357f6a57cadadaa6cf7b
-C Work\saround\sa\sbug\s(an\sincorrect\swarning)\sin\sClang-8.
-D 2020-06-20T03:43:46.380
+C Fix\sproblems\swith\shandling\sreturn\svalue\sof\smmap()\sin\slsm_unix.c\s(mmap()\sreturns\sMAP_FAILED\son\serror,\snot\sNULL).
+D 2020-06-22T16:02:06.546
 F Makefile.in 50fc38e4f846af70c248542d2ad4e3bca3d80e3f1b9137ce79b047743d4b642c
 F autoconf/Makefile.am a8d1d24affe52ebf8d7ddcf91aa973fa0316618ab95bb68c87cabf8faf527dc8
+F ext/lsm1/lsm_unix.c 11e0a5c19d754a4e1d93dfad06de8cc201f10f886b8e61a4c599ed34e334fc24
 F main.mk f3c3de159abc51086a16a72d0b48077d2dda6a8dfb96963f8a010136bfd98108
 F src/build.c ba1bbe563a3dc02d5fed20537603181e5289c13ea30ae5e775f552e7557adbfa
 F tool/mkautoconfamal.sh f62353eb6c06ab264da027fd4507d09914433dbdcab9cb011cdc18016f1ab3b8
-P c7b2ee1edb108430454578c1623ba6aee1e2a7bc30cb2f9884ea3e21c3b75635
-R dbb5c23fb1d24e3d86260a377e8d8a75
-U drh
-Z 257a429f7c220c505fe55670a2ea483e
+P 067291143a63db924ead4810defb4bc6f195557412f5d1c22299f30d2d9f2a79
+R 9efb2d1123c6a5a0cabb094674cf03d3
+U dan
+Z 1b07d7a82a5b86877bd90626c66f8988
index 13863bf6822bb6493d11362035822ca34a118890..9663d41330a12c335139c9ea817b0ed768d6d12e 100644 (file)
@@ -1 +1 @@
-067291143a63db924ead4810defb4bc6f195557412f5d1c22299f30d2d9f2a79
\ No newline at end of file
+da06168c09df5c0e8e10d0f9618e69217d4c0173a8199660bad2805f009d7b08
\ No newline at end of file