]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Prevent sqlite from over-reading a structure
authorTravis Cross <tc@traviscross.com>
Thu, 27 Feb 2014 23:19:26 +0000 (23:19 +0000)
committerTravis Cross <tc@traviscross.com>
Thu, 27 Feb 2014 23:34:50 +0000 (23:34 +0000)
Our sqlite fork was reading past the end of the zP3 KeyInfo structure
here.  This was causing gcc and clang's address sanitization to alert.

FS-6279 --resolve

Thanks-to: Christopher Rienzo <chris@rienzo.net>
libs/sqlite/src/vdbeaux.c

index be85e7b8cb3ac0a73a9559484eb6a967100df8c8..11605e525aa0b1049bdfb2e234570d49289b2107 100644 (file)
@@ -527,7 +527,7 @@ void sqlite3VdbeChangeP3(Vdbe *p, int addr, const char *zP3, int n){
     pOp->p3 = (char*)pKeyInfo;
     if( pKeyInfo ){
       unsigned char *aSortOrder;
-      memcpy(pKeyInfo, zP3, nByte);
+      memcpy(pKeyInfo, zP3, nByte - nField);
       aSortOrder = pKeyInfo->aSortOrder;
       if( aSortOrder ){
         pKeyInfo->aSortOrder = (unsigned char*)&pKeyInfo->aColl[nField];