From 721a24ae219f0b062c63ce4f77a2c6ef34f08b94 Mon Sep 17 00:00:00 2001 From: "geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b" Date: Sat, 26 Jan 2008 09:55:53 +0000 Subject: BUILD : 1.7.21 (1354) BUGS : 833 NOTES : Ficed various oddities in moduleAddData() git-svn-id: svn://svn.anope.org/anope/trunk@1354 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1069 5417fbe8-f217-4b02-8779-1006273d7864 --- src/modules.c | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/modules.c b/src/modules.c index 13d4535cd..b71fd4f8b 100644 --- a/src/modules.c +++ b/src/modules.c @@ -2143,42 +2143,32 @@ int moduleDataDebug(ModuleData ** md) **/ int moduleAddData(ModuleData ** md, char *key, char *value) { - /* Do we really need this sstrdup here? Why can't we just use - * mod_current_module_name itself inside this function? It's not like - * we're changing it or anything, we just pass it to yet another - * sstrdup() somewhere down there.... -GD - */ - char *mod_name = sstrdup(mod_current_module_name); ModuleData *newData = NULL; - if (!key || !value) { - alog("A module tried to use ModuleAddData() with one ore more NULL arguments... returning"); - free(mod_name); - return MOD_ERR_PARAMS; - } - if (mod_current_module_name == NULL) { alog("moduleAddData() called with mod_current_module_name being NULL"); if (debug) do_backtrace(0); } + if (!key || !value) { + alog("A module (%s) tried to use ModuleAddData() with one or more NULL arguments... returning", mod_current_module_name); + return MOD_ERR_PARAMS; + } + moduleDelData(md, key); /* Remove any existing module data for this module with the same key */ newData = malloc(sizeof(ModuleData)); if (!newData) { - free(mod_name); return MOD_ERR_MEMORY; } - newData->moduleName = sstrdup(mod_name); + newData->moduleName = sstrdup(mod_current_module_name); newData->key = sstrdup(key); newData->value = sstrdup(value); newData->next = *md; *md = newData; - free(mod_name); - if (debug) { moduleDataDebug(md); } -- cgit