rgmanager: master - rgmanager: Fix small memory leak
Lon Hohberger
lon@fedoraproject.org
Mon Jun 22 16:55:00 GMT 2009
Gitweb: http://git.fedorahosted.org/git/rgmanager.git?p=rgmanager.git;a=commitdiff;h=d1b70a1c3e5c6a962061c9f7c181ccecb050d30e
Commit: d1b70a1c3e5c6a962061c9f7c181ccecb050d30e
Parent: 10f9c02038d1086287f1322287a65101c98828e9
Author: Lon Hohberger <lhh@redhat.com>
AuthorDate: Fri Jun 19 22:59:53 2009 -0400
Committer: Lon Hohberger <lhh@redhat.com>
CommitterDate: Mon Jun 22 12:52:44 2009 -0400
rgmanager: Fix small memory leak
Signed-off-by: Lon Hohberger <lhh@redhat.com>
---
rgmanager/src/daemons/slang_event.c | 15 +++++++++++----
1 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/rgmanager/src/daemons/slang_event.c b/rgmanager/src/daemons/slang_event.c
index 1a2b3ac..3f93039 100644
--- a/rgmanager/src/daemons/slang_event.c
+++ b/rgmanager/src/daemons/slang_event.c
@@ -415,16 +415,23 @@ out:
/**
get_service_property(service_name, property)
*/
-static char *
+static void
sl_service_property(char *svcName, char *prop)
{
char buf[96];
+ char *ret;
if (get_service_property(svcName, prop, buf, sizeof(buf)) < 0)
- return NULL;
+ return;
/* does this work or do I have to push a malloce'd string? */
- return strdup(buf);
+ ret = strdup(buf);
+ if (SLang_push_malloced_string(ret) < 0) {
+ SLang_verror(SL_RunTime_Error,
+ (char *)"%s: Failed to push %s property of %s",
+ __FUNCTION__, prop, svcName);
+ free(ret);
+ }
}
@@ -959,7 +966,7 @@ static SLang_Intrin_Fun_Type rgmanager_slang[] =
MAKE_INTRINSIC_0((char *)"service_list", sl_service_list,
SLANG_VOID_TYPE),
MAKE_INTRINSIC_SS((char *)"service_property", sl_service_property,
- SLANG_STRING_TYPE),
+ SLANG_VOID_TYPE),
MAKE_INTRINSIC_S((char *)"service_domain_info", sl_domain_info,
SLANG_VOID_TYPE),
MAKE_INTRINSIC_0((char *)"service_stop", sl_stop_service,
More information about the Cluster-cvs
mailing list