[Cluster-devel] [PATCH] rgmanager: reslist: another string related cleanup
Jan Pokorný
jpokorny at redhat.com
Fri Apr 6 19:38:03 UTC 2012
Signed-off-by: Jan Pokorný <jpokorny at redhat.com>
---
reslist.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/reslist.c b/reslist.c
index b75f4b0..43430cd 100644
--- a/reslist.c
+++ b/reslist.c
@@ -107,9 +107,12 @@ _attr_value(resource_node_t *node, const char *attrname, const char *ptype)
/* Difference guaranteed to be non-negative
(for x >= 0: &ra->ra_value[x] >= &ra->ra_value[0]) */
len = (c - ra->ra_value);
- memset(p_type, 0, sizeof(p_type));
+ if (len >= sizeof(p_type))
+ len = sizeof(p_type) - 1;
+
memcpy(p_type, ra->ra_value, len);
-
+ p_type[sizeof(p_type)-1] = '\0';
+
/* Skip the "%" and recurse */
return _attr_value(node->rn_parent, ++c, p_type);
}
More information about the Cluster-devel
mailing list