bug-cfengine
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] IPRange ranges


From: Andrew Stribblehill
Subject: [PATCH] IPRange ranges
Date: Wed, 5 Mar 2003 15:40:23 +0000
User-agent: Mutt/1.5.3i

control:
  is_chemist = ( IPRange(129.234.12-14) )

goes wrong. The code:

--------item.c:644(ish) in FuzzySetMatch-------------
      for (i = 0; i < 4; i++)
         {
         sscanf(sp1,"%[^.]",buffer1);
         sp1 += strlen(buffer1)+1;
         sscanf(sp2,"%[^.]",buffer2);
         sp2 += strlen(buffer2)+1;
------------------------------------------------------

For the fourth octet which is missing in my match, the sscanf on line
646 returns -1 and buffer remains "12-14".

The following patch fixes this:

diff -ruN cfengine-2.0.5-old/src/item.c cfengine-2.0.5/src/item.c
--- cfengine-2.0.5-old/src/item.c       2002-08-20 15:59:54.000000000 +0100
+++ cfengine-2.0.5/src/item.c   2003-03-05 15:22:07.000000000 +0000
@@ -643,7 +643,10 @@
       
       for (i = 0; i < 4; i++)
         {
-        sscanf(sp1,"%[^.]",buffer1);
+         if (sscanf(sp1,"%[^.]",buffer1) <= 0)
+            {
+            break;
+            }
         sp1 += strlen(buffer1)+1;
         sscanf(sp2,"%[^.]",buffer2);
         sp2 += strlen(buffer2)+1;

-- 
HUMBER THAMES DOVER WIGHT
SOUTHERLY, BECOMING CYCLONIC THEN WESTERLY 4 OR 5, OCCASIONALLY 6.
RAIN. MODERATE WITH FOG PATCHES, BECOMING GOOD




reply via email to

[Prev in Thread] Current Thread [Next in Thread]