1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-12 13:01:09 +03:00

Fix an invalid pointer comparison triggered by renaming a table column when

there are views with explicit column names in the schema.

FossilOrigin-Name: 572de7e4e33562c72cd90790b267ba389370f21ddcaebc4db609fd76ae9b7ada
This commit is contained in:
dan
2018-09-12 08:51:48 +00:00
parent ed008ecede
commit e8ab40d219
6 changed files with 48 additions and 11 deletions

View File

@@ -723,6 +723,24 @@ void sqlite3RenameExprUnmap(Parse *pParse, Expr *pExpr){
sqlite3WalkExpr(&sWalker, pExpr);
}
/*
** Remove all nodes that are part of expression-list pEList from the
** rename list.
*/
void sqlite3RenameExprlistUnmap(Parse *pParse, ExprList *pEList){
if( pEList ){
int i;
Walker sWalker;
memset(&sWalker, 0, sizeof(Walker));
sWalker.pParse = pParse;
sWalker.xExprCallback = renameUnmapExprCb;
sqlite3WalkExprList(&sWalker, pEList);
for(i=0; i<pEList->nExpr; i++){
sqlite3RenameTokenRemap(pParse, 0, (void*)pEList->a[i].zName);
}
}
}
/*
** Free the list of RenameToken objects given in the second argument
*/