From 55f11663316a9233987aacbaa1b561d0cea13cf8 Mon Sep 17 00:00:00 2001 From: Ryota Ozaki Date: Sat, 17 Oct 2009 08:16:34 +0900 Subject: [PATCH] LXC fix virCgroupGetValueStr on handling a string terminated with '\n' * src/util/cgroup.c: get rid of '\n' from the return value of virCgroupGetValueStr --- src/util/cgroup.c | 12 +++++------- 1 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/util/cgroup.c b/src/util/cgroup.c index f728a2f..bdd4eb6 100644 --- a/src/util/cgroup.c +++ b/src/util/cgroup.c @@ -309,6 +309,10 @@ static int virCgroupGetValueStr(virCgroupPtr group, DEBUG("Failed to read %s: %m\n", keypath); rc = -errno; } else { + /* Terminated with '\n' has sometimes harmful effects to the caller */ + char *p = strchr(*value, '\n'); + if (p) *p = '\0'; + rc = 0; } @@ -969,13 +973,7 @@ int virCgroupSetFreezerState(virCgroupPtr group, const char *state) int virCgroupGetFreezerState(virCgroupPtr group, char **state) { - int ret; - ret = virCgroupGetValueStr(group, + return virCgroupGetValueStr(group, VIR_CGROUP_CONTROLLER_CPU, "freezer.state", state); - if (ret == 0) { - char *p = strchr(*state, '\n'); - if (p) *p = '\0'; - } - return ret; } -- 1.6.2.5