1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-05 15:55:57 +03:00

Return an error if an attempt is made to create a trigger with an SQL variable embedded within it. If such a variable reference is found within a trigger definition loaded from the sqlite_master table, silently replace it with a NULL.

FossilOrigin-Name: f35f6ae3da77dbdf5f7a4a9927475659fc6e0ca6
This commit is contained in:
dan
2013-10-03 12:29:38 +00:00
parent 582d47d27a
commit 46539d7cfa
6 changed files with 160 additions and 21 deletions

View File

@@ -291,8 +291,10 @@ void sqlite3FinishTrigger(
}
nameToken.z = pTrig->zName;
nameToken.n = sqlite3Strlen30(nameToken.z);
if( sqlite3FixInit(&sFix, pParse, iDb, "trigger", &nameToken)
&& sqlite3FixTriggerStep(&sFix, pTrig->step_list) ){
if( sqlite3FixInit(&sFix, pParse, iDb, "trigger", &nameToken) && (
sqlite3FixTriggerStep(&sFix, pTrig->step_list)
|| sqlite3FixExpr(&sFix, pTrig->pWhen)
)){
goto triggerfinish_cleanup;
}