diff options
author | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-06-10 18:03:32 +0330 |
---|---|---|
committer | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-06-10 18:03:32 +0330 |
commit | d523a165aee75e038a4ae4985de08443f4037b9c (patch) | |
tree | 76fb711ffc6524bd23259b449e34a8414e4fa425 /src/compiler/ast-tree.c | |
parent | 71b4af57bdcc91d948d436a459a223c402a6e17d (diff) |
fixing some parse order
Diffstat (limited to 'src/compiler/ast-tree.c')
-rw-r--r-- | src/compiler/ast-tree.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/compiler/ast-tree.c b/src/compiler/ast-tree.c index f010067..8cea6f7 100644 --- a/src/compiler/ast-tree.c +++ b/src/compiler/ast-tree.c @@ -3750,6 +3750,11 @@ AstTree *astTreeParseBracket(const ParserNode *parserNode, AstTreeToken token) { metadata->operand = astTreeParse(node_metadata->operand); + if (metadata->operand == NULL) { + free(metadata); + return NULL; + } + metadata->parameters.size = node_metadata->params->size; metadata->parameters.data = a404m_malloc(sizeof(*metadata->parameters.data) * metadata->parameters.size); @@ -3762,6 +3767,11 @@ AstTree *astTreeParseBracket(const ParserNode *parserNode, AstTreeToken token) { } metadata->parameters.data[i] = astTreeParse(node_param); + + if (metadata->parameters.data[i] == NULL) { + free(metadata); + return NULL; + } } return newAstTree(token, metadata, NULL, parserNode->str_begin, |