aboutsummaryrefslogtreecommitdiff
path: root/src/trigger.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/trigger.c')
-rw-r--r--src/trigger.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/trigger.c b/src/trigger.c
index 0abe7ee0d..b07b8c5a8 100644
--- a/src/trigger.c
+++ b/src/trigger.c
@@ -661,7 +661,7 @@ int sqliteCodeRowTrigger(
int endTrigger;
SrcList dummyTablist;
Expr * whenExpr;
- const char *zSavedAuthContext;
+ AuthContext sContext;
dummyTablist.nSrc = 0;
@@ -673,8 +673,7 @@ int sqliteCodeRowTrigger(
pTriggerStack->pNext = pParse->trigStack;
pTriggerStack->ignoreJump = ignoreJump;
pParse->trigStack = pTriggerStack;
- zSavedAuthContext = pParse->zAuthContext;
- pParse->zAuthContext = pTrigger->name;
+ sqliteAuthContextPush(pParse, &sContext, pTrigger->name);
/* code the WHEN clause */
endTrigger = sqliteVdbeMakeLabel(pParse->pVdbe);
@@ -692,7 +691,7 @@ int sqliteCodeRowTrigger(
/* Pop the entry off the trigger stack */
pParse->trigStack = pParse->trigStack->pNext;
- pParse->zAuthContext = zSavedAuthContext;
+ sqliteAuthContextPop(&sContext);
sqliteFree(pTriggerStack);
sqliteVdbeResolveLabel(pParse->pVdbe, endTrigger);