cluster: STABLE32 - rgmanager: Fix tiny memory leak in sl_service_status
by Lon Hohberger
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=...
Commit: 663efa987ba58aa79eb66dfdcdedbbd905886cf4
Parent: 4f4c3909267aef26be4e011f36f06cf8323f5b31
Author: Lon Hohberger <lhh(a)redhat.com>
AuthorDate: Thu Jan 5 10:12:05 2012 -0500
Committer: Lon Hohberger <lhh(a)redhat.com>
CommitterDate: Thu Jan 5 10:12:05 2012 -0500
rgmanager: Fix tiny memory leak in sl_service_status
Signed-off-by: Lon Hohberger <lhh(a)redhat.com>
---
rgmanager/src/daemons/slang_event.c | 23 ++++++++++++++---------
1 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/rgmanager/src/daemons/slang_event.c b/rgmanager/src/daemons/slang_event.c
index c302de5..45110a3 100644
--- a/rgmanager/src/daemons/slang_event.c
+++ b/rgmanager/src/daemons/slang_event.c
@@ -209,7 +209,8 @@ get_service_state_internal(const char *svcName, rg_state_t *svcStatus)
service_status(servicename)
For extra information (flags, transition time)
- (transition_time, flags, rte, restarts, owner, state) =
+ (transition_time, flags, rte, restarts, last_owner,
+ owner, state) =
service_status(servicename, 1);
*/
static void
@@ -273,7 +274,7 @@ sl_service_status(void)
(char *)"%s: Failed to get status for %s",
__FUNCTION__,
svcName);
- return;
+ goto out_free;
}
if (extra) {
@@ -285,7 +286,7 @@ sl_service_status(void)
(char *)"%s: Failed to push mtime %s",
__FUNCTION__,
svcName);
- return;
+ goto out_free;
}
flags = (int)svcStatus.rs_flags;
@@ -294,7 +295,7 @@ sl_service_status(void)
(char *)"%s: Failed to push flags %s",
__FUNCTION__,
svcName);
- return;
+ goto out_free;
}
}
@@ -304,7 +305,7 @@ sl_service_status(void)
(char *)"%s: Failed to push restarts_exceeded %s",
__FUNCTION__,
svcName);
- return;
+ goto out_free;
}
if (SLang_push_integer(svcStatus.rs_restarts) < 0) {
@@ -312,7 +313,7 @@ sl_service_status(void)
(char *)"%s: Failed to push restarts for %s",
__FUNCTION__,
svcName);
- return;
+ goto out_free;
}
if (SLang_push_integer(svcStatus.rs_last_owner) < 0) {
@@ -320,7 +321,7 @@ sl_service_status(void)
(char *)"%s: Failed to push last owner of %s",
__FUNCTION__,
svcName);
- return;
+ goto out_free;
}
switch(svcStatus.rs_state) {
@@ -338,7 +339,7 @@ sl_service_status(void)
(char *)"%s: Failed to push owner of %s",
__FUNCTION__,
svcName);
- return;
+ goto out_free;
}
if (svcStatus.rs_flags & RG_FLAG_FROZEN) {
@@ -354,7 +355,7 @@ sl_service_status(void)
(char *)"%s: Failed to duplicate state of %s",
__FUNCTION__,
svcName);
- return;
+ goto out_free;
}
if (SLang_push_malloced_string(state_str) < 0) {
@@ -364,6 +365,10 @@ sl_service_status(void)
svcName);
free(state_str);
}
+
+out_free:
+ if (svcName)
+ free(svcName);
}
12 years, 5 months
fence-agents: master - fence_ipmilan: Possible buffer overflow
by Marek Grác
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=...
Commit: 60aae6b5f0ffea8c0e4f54aecf081c770ab4d67c
Parent: f57d38bf7f4d26d9696ad95a485ac7883df2a23c
Author: Marek 'marx' Grac <mgrac(a)redhat.com>
AuthorDate: Thu Jan 5 14:08:42 2012 +0100
Committer: Marek 'marx' Grac <mgrac(a)redhat.com>
CommitterDate: Thu Jan 5 14:08:42 2012 +0100
fence_ipmilan: Possible buffer overflow
Problems found by Coverity Scan.
Resolves: rhbz#756315
---
fence/agents/ipmilan/ipmilan.c | 24 ++++++++++++++++++------
1 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/fence/agents/ipmilan/ipmilan.c b/fence/agents/ipmilan/ipmilan.c
index 52be371..ddcc0f6 100644
--- a/fence/agents/ipmilan/ipmilan.c
+++ b/fence/agents/ipmilan/ipmilan.c
@@ -332,11 +332,11 @@ build_cmd(char *command, size_t cmdlen, struct ipmi *ipmi, int op, int nopass)
static int
ipmi_spawn(struct ipmi *ipmi, const char *cmd, const char *cmd_print)
{
- dbg_printf(ipmi, 1, "Spawning: '%s'...\n", cmd_print);
if (!ipmi) {
errno = EINVAL;
return -1;
}
+ dbg_printf(ipmi, 1, "Spawning: '%s'...\n", cmd_print);
if (ipmi->i_pid != -1) {
dbg_printf(ipmi, 1, "Can't spawn: PID %d running\n",
@@ -805,19 +805,22 @@ get_options_stdin(char *ip, size_t iplen,
} else if (!strcasecmp(name, "lanplus")) {
(*lanplus) = 1;
} else if (!strcasecmp(name,"timeout")) {
- if ((sscanf(val,"%d",timeout)!=1) || *timeout<1) {
+ if ((!val) || (sscanf(val,"%d",timeout)!=1) || *timeout<1) {
*timeout=DEFAULT_TIMEOUT;
}
} else if (!strcasecmp(name,"power_wait")) {
- if ((sscanf(val,"%d",power_wait)!=1) || *power_wait<1) {
+ if ((!val) || (sscanf(val,"%d",power_wait)!=1) || *power_wait<1) {
*power_wait=DEFAULT_POWER_WAIT;
}
} else if (!strcasecmp(name,"cipher")) {
- if ((sscanf(val,"%d",cipher)!=1) || *cipher<0) {
+ if ((!val) || (sscanf(val,"%d",cipher)!=1) || *cipher<0) {
*cipher=-1;
}
} else if (!strcasecmp(name,"method")) {
- strncpy (method, val, methodlen);
+ if (val)
+ strncpy (method, val, methodlen);
+ else
+ method[0] = 0;
} else if (!strcasecmp(name, "option") ||
!strcasecmp(name, "operation") ||
!strcasecmp(name, "action")) {
@@ -983,40 +986,47 @@ main(int argc, char **argv)
case 'A':
/* Auth type */
strncpy(authtype, optarg, sizeof(authtype));
+ authtype[sizeof(authtype)-1] = 0;
break;
case 'L':
/* Privilege level - ipmitool defaults
* to ADMINISTRATOR if nothing is given
*/
strncpy(privlvl, optarg, sizeof(privlvl));
+ privlvl[sizeof(privlvl)-1] = 0;
break;
case 'a':
case 'i':
/* IP address */
strncpy(ip, optarg, sizeof(ip));
+ ip[sizeof(ip)-1] = 0;
break;
case 'l':
/* user / login */
strncpy(user, optarg, sizeof(user));
+ user[sizeof(user)-1] = 0;
break;
case 'p':
/* password */
strncpy(passwd, optarg, sizeof(passwd));
+ passwd[sizeof(passwd)-1] = 0;
break;
case 'P':
lanplus = 1;
break;
case 'S':
strncpy(pwd_script, optarg, sizeof(pwd_script));
- pwd_script[sizeof(pwd_script) - 1] = '\0';
+ pwd_script[sizeof(pwd_script)-1] = 0;
break;
case 'o':
/* Operation */
strncpy(op, optarg, sizeof(op));
+ op[sizeof(op)-1] = 0;
break;
case 'f':
/* Delay */
strncpy(delay, optarg, sizeof(delay));
+ delay[sizeof(delay)-1] = 0;
break;
case 't':
/* Timeout */
@@ -1039,6 +1049,7 @@ main(int argc, char **argv)
case 'M':
/* Reboot method */
strncpy(method, optarg, sizeof(method));
+ method[sizeof(method)-1] = 0;
break;
case 'v':
verbose++;
@@ -1077,6 +1088,7 @@ main(int argc, char **argv)
fp = popen(pwd_script, "r");
if (fp != NULL) {
ssize_t len = fread(pwd_buf, 1, sizeof(pwd_buf), fp);
+ pwd_buf[sizeof(pwd_buf)-1] = 0;
if (len > 0) {
char *p;
p = strchr(pwd_buf, '\n');
12 years, 5 months
dlm: master - build: fix install of libdlmcontrold.so.SOMAJOR
by Fabio M. Di Nitto
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=...
Commit: a75ba5bf6afb3cf6bd31493b1e6c8815cda19c3c
Parent: 78b0d0496eac6f57843aa4aa004e2fec75c87fa7
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
AuthorDate: Thu Jan 5 09:41:56 2012 +0100
Committer: Fabio M. Di Nitto <fdinitto(a)redhat.com>
CommitterDate: Thu Jan 5 09:41:56 2012 +0100
build: fix install of libdlmcontrold.so.SOMAJOR
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
---
dlm_controld/Makefile | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/dlm_controld/Makefile b/dlm_controld/Makefile
index 27bb99d..0e2e4da 100644
--- a/dlm_controld/Makefile
+++ b/dlm_controld/Makefile
@@ -97,6 +97,7 @@ install: all
$(INSTALL) -c -m 755 $(BIN_TARGET) $(DESTDIR)/$(BINDIR)
$(INSTALL) -c -m 755 $(LIB_TARGET) $(DESTDIR)/$(LIBDIR)
cp -a $(LIB_SO) $(DESTDIR)/$(LIBDIR)
+ cp -a $(LIB_SMAJOR) $(DESTDIR)/$(LIBDIR)
$(INSTALL) -c -m 644 $(HDR_TARGET) $(DESTDIR)/$(HDRDIR)
$(INSTALL) -m 755 $(INI_TARGET) $(DESTDIR)/$(INIDIR)
$(INSTALL) -m 644 $(MAN_TARGET) $(DESTDIR)/$(MANDIR)/man8/
12 years, 5 months
dlm: master - build: fix install of .so.SOMAJOR
by Fabio M. Di Nitto
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=...
Commit: 78b0d0496eac6f57843aa4aa004e2fec75c87fa7
Parent: 9f0a8db4c953d81b3bfb65bf58753ffdd3abb320
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
AuthorDate: Thu Jan 5 09:40:38 2012 +0100
Committer: Fabio M. Di Nitto <fdinitto(a)redhat.com>
CommitterDate: Thu Jan 5 09:40:38 2012 +0100
build: fix install of .so.SOMAJOR
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
---
libdlm/Makefile | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/libdlm/Makefile b/libdlm/Makefile
index 9a8c383..bcb1b6a 100644
--- a/libdlm/Makefile
+++ b/libdlm/Makefile
@@ -124,7 +124,9 @@ install: all
$(INSTALL) -c -m 755 $(LIB_TARGET) $(DESTDIR)/$(LIBDIR)
$(INSTALL) -c -m 755 $(LLT_TARGET) $(DESTDIR)/$(LIBDIR)
cp -a $(LIB_SO) $(DESTDIR)/$(LIBDIR)
+ cp -a $(LIB_SMAJOR) $(DESTDIR)/$(LIBDIR)
cp -a $(LLT_SO) $(DESTDIR)/$(LIBDIR)
+ cp -a $(LLT_SMAJOR) $(DESTDIR)/$(LIBDIR)
$(INSTALL) -m 644 $(LIB_PC) $(DESTDIR)/$(PKGDIR)
$(INSTALL) -m 644 $(LLT_PC) $(DESTDIR)/$(PKGDIR)
$(INSTALL) -c -m 644 $(HDR_TARGET) $(DESTDIR)/$(HDRDIR)
12 years, 5 months
dlm: master - build: fix library search path on first build/install
by Fabio M. Di Nitto
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=...
Commit: 9f0a8db4c953d81b3bfb65bf58753ffdd3abb320
Parent: 256cda5698b972b3e9abf3997b84855fd132bd99
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
AuthorDate: Thu Jan 5 09:36:59 2012 +0100
Committer: Fabio M. Di Nitto <fdinitto(a)redhat.com>
CommitterDate: Thu Jan 5 09:36:59 2012 +0100
build: fix library search path on first build/install
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
---
dlm_tool/Makefile | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/dlm_tool/Makefile b/dlm_tool/Makefile
index b4f65bb..0f142ff 100644
--- a/dlm_tool/Makefile
+++ b/dlm_tool/Makefile
@@ -33,6 +33,7 @@ BIN_CFLAGS += -fPIE -DPIE
BIN_CFLAGS += -I../include -I../libdlm -I../dlm_controld
BIN_LDFLAGS += -Wl,-z,now -Wl,-z,relro -pie
+BIN_LDFLAGS += -L../libdlm -L../dlm_controld
BIN_LDFLAGS += -lpthread -ldlm -ldlmcontrol
all: $(BIN_TARGET)
12 years, 5 months
cluster: STABLE32 - Revert "test commit"
by Fabio M. Di Nitto
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=...
Commit: 80c13238212bbc9bf988b8c3ba95bce308a332bb
Parent: ed80a70d4981458efa80608a9a4bdd12777d8400
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
AuthorDate: Thu Jan 5 09:13:44 2012 +0100
Committer: Fabio M. Di Nitto <fdinitto(a)redhat.com>
CommitterDate: Thu Jan 5 09:13:44 2012 +0100
Revert "test commit"
This reverts commit ed80a70d4981458efa80608a9a4bdd12777d8400.
---
Makefile | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/Makefile b/Makefile
index 0552866..5d4b50f 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,5 @@
include make/defines.mk
-
REALSUBDIRS = common config cman dlm fence/libfenced group \
fence rgmanager bindings doc contrib
12 years, 5 months
cluster: STABLE32 - test commit
by Fabio M. Di Nitto
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=...
Commit: ed80a70d4981458efa80608a9a4bdd12777d8400
Parent: 1e17c5f11eb8fdbf1cc107abca2566a39b081f48
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
AuthorDate: Thu Jan 5 09:11:59 2012 +0100
Committer: Fabio M. Di Nitto <fdinitto(a)redhat.com>
CommitterDate: Thu Jan 5 09:13:38 2012 +0100
test commit
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
---
Makefile | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/Makefile b/Makefile
index 5d4b50f..0552866 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,6 @@
include make/defines.mk
+
REALSUBDIRS = common config cman dlm fence/libfenced group \
fence rgmanager bindings doc contrib
12 years, 5 months