fix sublists bug
authorChristian Thaeter <ct@pipapo.org>
Fri, 2 Nov 2007 03:27:34 +0000 (04:27 +0100)
committerChristian Thaeter <ct@pipapo.org>
Fri, 2 Nov 2007 03:27:34 +0000 (04:27 +0100)
one can cause a stack overflow by recurse into the same list providing
a single ':>:' as list name

src/rxpd_rule.c

index 0bc90d3..5029f46 100644 (file)
@@ -36,7 +36,7 @@ rxpd_rule_new (const char* buf, struct rxpd_base* base)
       char* namestart = strchr (buf, ':');
       char* rxstart = namestart? strchr (namestart+1, ':') : NULL;
 
-      if (!rxstart)
+      if (!rxstart || *(rxstart-1) == '>')
           self->string = rxpd_strdup ("#ERROR: Syntax error, line was neither a comment nor a rule");
       else
         {