[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH] IPRange ranges,
Andrew Stribblehill <=