conf: fix clang warning when building w/o libcap

when compiling lxc with clang-5.0 parse_cap()'s main loop will produce a warning about a tautological comparision (#2215). By moving the result of computation into a variable (end) this is no longer a constant expression. clang-5.0 does not do dataflow analysis at this point, so it is, to quote someone from #llvm, "morally equivalent" to casting `(int)i`. in addition, we also clean up the #if HAVE_LIBCAP to no longer need its #else branch! Signed-off-by: 's avatarIgor Galić <igor.galic@automatic-server.com>
parent 0b628094
...@@ -205,8 +205,8 @@ static struct mount_opt propagation_opt[] = { ...@@ -205,8 +205,8 @@ static struct mount_opt propagation_opt[] = {
{ NULL, 0, 0 }, { NULL, 0, 0 },
}; };
#if HAVE_LIBCAP
static struct caps_opt caps_opt[] = { static struct caps_opt caps_opt[] = {
#if HAVE_LIBCAP
{ "chown", CAP_CHOWN }, { "chown", CAP_CHOWN },
{ "dac_override", CAP_DAC_OVERRIDE }, { "dac_override", CAP_DAC_OVERRIDE },
{ "dac_read_search", CAP_DAC_READ_SEARCH }, { "dac_read_search", CAP_DAC_READ_SEARCH },
...@@ -257,10 +257,8 @@ static struct caps_opt caps_opt[] = { ...@@ -257,10 +257,8 @@ static struct caps_opt caps_opt[] = {
#ifdef CAP_BLOCK_SUSPEND #ifdef CAP_BLOCK_SUSPEND
{ "block_suspend", CAP_BLOCK_SUSPEND }, { "block_suspend", CAP_BLOCK_SUSPEND },
#endif #endif
};
#else
static struct caps_opt caps_opt[] = {};
#endif #endif
};
static struct limit_opt limit_opt[] = { static struct limit_opt limit_opt[] = {
#ifdef RLIMIT_AS #ifdef RLIMIT_AS
...@@ -2359,11 +2357,12 @@ static int parse_cap(const char *cap) ...@@ -2359,11 +2357,12 @@ static int parse_cap(const char *cap)
char *ptr = NULL; char *ptr = NULL;
size_t i; size_t i;
int capid = -1; int capid = -1;
size_t end = sizeof(caps_opt)/sizeof(caps_opt[0]);
if (!strcmp(cap, "none")) if (!strcmp(cap, "none"))
return -2; return -2;
for (i = 0; i < sizeof(caps_opt)/sizeof(caps_opt[0]); i++) { for (i = 0; i < end; i++) {
if (strcmp(cap, caps_opt[i].name)) if (strcmp(cap, caps_opt[i].name))
continue; continue;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment