From: Eric Blake Date: Mon, 14 Feb 2011 21:23:11 +0000 (-0700) Subject: build: silence false positive clang report X-Git-Tag: v0.8.8~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bd6ea30384490a0847ec981877ae781a9cf62890;p=thirdparty%2Flibvirt.git build: silence false positive clang report clang complained that STREQ(group->controllers[i].mountPoint,...) was a NULL dereference when i==VIR_CGROUP_CONTROLLER_CPUSET, because it assumes the worst about virCgroupPathOfController. Marking the argument const doesn't yet have an effect, per this clang bug: http://llvm.org/bugs/show_bug.cgi?id=7758 So, we use sa_assert, which was designed to shut up false positives from tools like clang. * src/util/cgroup.c (virCgroupMakeGroup): Teach clang that there is no NULL dereference. --- diff --git a/src/util/cgroup.c b/src/util/cgroup.c index de1fd8e24b..47c4633067 100644 --- a/src/util/cgroup.c +++ b/src/util/cgroup.c @@ -505,6 +505,9 @@ static int virCgroupMakeGroup(virCgroupPtr parent, virCgroupPtr group, rc = virCgroupPathOfController(group, i, "", &path); if (rc < 0) return rc; + /* As of Feb 2011, clang can't see that the above function + * call did not modify group. */ + sa_assert(group->controllers[i].mountPoint); VIR_DEBUG("Make controller %s", path); if (access(path, F_OK) != 0) {