Description: Support new CVE syntax
Author: Michal Čihař <nijel@debian.org>

--- a/html.c
+++ b/html.c
@@ -471,7 +471,7 @@
     unsigned char c;
     int state = 0;
     int count = 0;
-    unsigned char parse[14]; /* "CVE-yyyy-nnnn" */
+    unsigned char parse[20]; /* "CVE-yyyy-nnnn" */
     unsigned char *p = parse;
 
     if (rpm2html_cve_linking == 0)
@@ -485,7 +485,7 @@
 	}
     }
     cur = &buffer2[0];
-    end = &buffer2[buffer2_size - 100];
+    end = &buffer2[buffer2_size - 110];
 
     while (*str != '\0') {
         if (cur >= end) {
@@ -497,7 +497,7 @@
 		perror("xmlRealloc failed");
 		exit(1);
 	    }
-	    end = &buffer2[buffer2_size - 100];
+	    end = &buffer2[buffer2_size - 110];
 	    cur = &buffer2[delta];
         }
  
@@ -562,29 +562,23 @@
 	case '7':
 	case '8':
 	case '9':
-	    if (state == DIGIT1 || state == DIGIT2) {
+	    if ((state == DIGIT1 && count <= 4) || (state == DIGIT2)) {
 		count++;
-		if (count == 4) {
-		    *p++ = c;
-		    if (state == DIGIT2) {
-			unsigned char url[90];
-			*p = '\0';
-			sprintf(url, "<a href=\"http://cve.mitre.org/cgi-bin/cvename.cgi?"
-			             "name=%s\">%s</a>", parse, parse);
-			strcpy(cur, url);
-			cur += strlen(url);
-			p = parse;
-			state = 0;
-		     }
-		     continue;
-		}
-		else if (count < 4) {
-		     *p++ = c;
-		     continue;
-		}
-	    }
+                *p++ = c;
+                continue;
+            }
 	    break;
 	default:
+            if (state == DIGIT2) {
+                unsigned char url[110];
+                *p = '\0';
+                sprintf(url, "<a href=\"http://cve.mitre.org/cgi-bin/cvename.cgi?"
+                             "name=%s\">%s</a>", parse, parse);
+                strcpy(cur, url);
+                cur += strlen(url);
+                p = parse;
+                state = 0;
+            }
 	    break;
 	}
 	if (p != parse) {
