mirror of
https://github.com/DarkPlacesEngine/gmqcc.git
synced 2024-11-23 20:33:05 +00:00
Merge pull request #180 from xonotic/mem_leak_fix_on_failure_paths
two small memory leak fixes on failure paths
This commit is contained in:
commit
d9127bf28a
2 changed files with 2 additions and 0 deletions
1
ir.cpp
1
ir.cpp
|
@ -1474,6 +1474,7 @@ ir_instr* ir_block_create_call(ir_block *self, lex_ctx_t ctx, const char *label,
|
||||||
!ir_instr_op(in, 1, func, false))
|
!ir_instr_op(in, 1, func, false))
|
||||||
{
|
{
|
||||||
delete in;
|
delete in;
|
||||||
|
delete out;
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
self->m_instr.push_back(in);
|
self->m_instr.push_back(in);
|
||||||
|
|
|
@ -3159,6 +3159,7 @@ static bool parse_switch_go(parser_t *parser, ast_block *block, ast_expression *
|
||||||
}
|
}
|
||||||
if (!OPTS_FLAG(RELAXED_SWITCH)) {
|
if (!OPTS_FLAG(RELAXED_SWITCH)) {
|
||||||
if (!ast_istype(swcase.m_value, ast_value)) { /* || ((ast_value*)swcase.m_value)->m_cvq != CV_CONST) { */
|
if (!ast_istype(swcase.m_value, ast_value)) { /* || ((ast_value*)swcase.m_value)->m_cvq != CV_CONST) { */
|
||||||
|
delete switchnode;
|
||||||
parseerror(parser, "case on non-constant values need to be explicitly enabled via -frelaxed-switch");
|
parseerror(parser, "case on non-constant values need to be explicitly enabled via -frelaxed-switch");
|
||||||
ast_unref(operand);
|
ast_unref(operand);
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in a new issue