Skip to content

Commit 263df08

Browse files
NBGL Nano: Check onActionCallback validity
In nbgl_step actionCallback, `onActionCallback` was called without being checked, leading to crash if the callback is NULL. This commit adds the relevant checks.
1 parent fe9d203 commit 263df08

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

lib_nbgl/src/nbgl_step.c

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,9 @@ static void actionCallback(nbgl_layout_t *layout, nbgl_buttonEvent_t event)
309309
}
310310
else if ((ctx->textContext.pos == LAST_STEP)
311311
|| (ctx->textContext.pos == NEITHER_FIRST_NOR_LAST_STEP)) {
312-
ctx->textContext.onActionCallback((nbgl_step_t) ctx, event);
312+
if (ctx->textContext.onActionCallback != NULL) {
313+
ctx->textContext.onActionCallback((nbgl_step_t) ctx, event);
314+
}
313315
}
314316
}
315317
else if (event == BUTTON_RIGHT_PRESSED) {
@@ -319,11 +321,15 @@ static void actionCallback(nbgl_layout_t *layout, nbgl_buttonEvent_t event)
319321
}
320322
else if ((ctx->textContext.pos == FIRST_STEP)
321323
|| (ctx->textContext.pos == NEITHER_FIRST_NOR_LAST_STEP)) {
322-
ctx->textContext.onActionCallback((nbgl_step_t) ctx, event);
324+
if (ctx->textContext.onActionCallback != NULL) {
325+
ctx->textContext.onActionCallback((nbgl_step_t) ctx, event);
326+
}
323327
}
324328
}
325329
else if (event == BUTTON_BOTH_PRESSED) {
326-
ctx->textContext.onActionCallback((nbgl_step_t) ctx, event);
330+
if (ctx->textContext.onActionCallback != NULL) {
331+
ctx->textContext.onActionCallback((nbgl_step_t) ctx, event);
332+
}
327333
}
328334
}
329335

0 commit comments

Comments
 (0)