summaryrefslogtreecommitdiff
path: root/lib/grammar_sandbox.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/grammar_sandbox.c')
-rw-r--r--lib/grammar_sandbox.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/grammar_sandbox.c b/lib/grammar_sandbox.c
index fe01c113d2..6a783a6d56 100644
--- a/lib/grammar_sandbox.c
+++ b/lib/grammar_sandbox.c
@@ -289,9 +289,15 @@ new_cmd_token (enum cmd_token_type_t type, char *text, char *desc)
void
del_cmd_token (struct cmd_token_t *token)
{
- XFREE (MTYPE_CMD_TOKENS, token->text);
- XFREE (MTYPE_CMD_TOKENS, token->desc);
- XFREE (MTYPE_CMD_TOKENS, token->arg);
+ if (!token) return;
+
+ if (token->text)
+ XFREE (MTYPE_CMD_TOKENS, token->text);
+ if (token->desc)
+ XFREE (MTYPE_CMD_TOKENS, token->desc);
+ if (token->arg)
+ XFREE (MTYPE_CMD_TOKENS, token->arg);
+
XFREE (MTYPE_CMD_TOKENS, token);
}