From: Mike Frysinger Date: Thu, 3 May 2012 05:07:58 +0000 (-0400) Subject: sysctl: fix broken .conf suffix matching X-Git-Tag: v3.3.3~7 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=156dd0b5a3d6e8fa3126927a2ba0579f38da39a9;p=procps-ng sysctl: fix broken .conf suffix matching There's an off-by-one error in the count (".conf" is 5 bytes, not 6), and the logic is inverted for the strcmp return value -- we want to skip the files when they *don't* end in .conf, not when they *do*. Also fix the off-by-one len check. Bug-Debian: http://bugs.debian.org/669128 Signed-off-by: Mike Frysinger --- diff --git a/sysctl.c b/sysctl.c index 0c4a6309..587e26d9 100644 --- a/sysctl.c +++ b/sysctl.c @@ -578,8 +578,8 @@ static int PreloadSystem(void) if (!strcmp(de->d_name, ".") || !strcmp(de->d_name, "..")) continue; - if (strlen(de->d_name) < 6 - || !strcmp(de->d_name + strlen(de->d_name) - 6, ".conf")) + if (strlen(de->d_name) < 5 + || strcmp(de->d_name + strlen(de->d_name) - 5, ".conf")) continue; /* check if config already known */ for (i = 0; i < ncfgs; ++i) {