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:
18
src/alter.c
18
src/alter.c
@@ -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
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user