From 7d1050ac6dfb32e9375a20001d71d052148689e9 Mon Sep 17 00:00:00 2001 From: remoitnane Date: Sat, 14 Aug 2010 00:44:58 -0700 Subject: Eliminate a slow memory leak in the magic system --- src/map/magic-interpreter-base.c | 3 +++ src/map/magic.c | 2 ++ 2 files changed, 5 insertions(+) (limited to 'src/map') diff --git a/src/map/magic-interpreter-base.c b/src/map/magic-interpreter-base.c index 0ece700..9d21832 100644 --- a/src/map/magic-interpreter-base.c +++ b/src/map/magic-interpreter-base.c @@ -191,8 +191,11 @@ env_t *spell_create_env (magic_conf_t * conf, spell_t * spell, } case SPELLARG_NONE: + free (param); break; + default: + free (param); fprintf (stderr, "Unexpected spellarg type %d\n", spell->spellarg_ty); } diff --git a/src/map/magic.c b/src/map/magic.c index 8e9c80e..572203f 100644 --- a/src/map/magic.c +++ b/src/map/magic.c @@ -131,6 +131,8 @@ int magic_message (character_t * caster, char *spell_, size_t spell_len) } return 1; } + else + free (parameter); return 0; /* Not a spell */ } -- cgit v1.2.3-70-g09d2