提交 3366fe95 authored 作者: Travis Cross's avatar Travis Cross

Prevent sqlite from over-reading a structure

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>
上级 a048d2b6
......@@ -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];
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论