$OpenBSD: patch-radius_src_dict_c,v 1.1 2003/06/29 04:48:39 avsm Exp $ --- radius/src/dict.c.orig Fri Jun 20 14:04:16 2003 +++ radius/src/dict.c Fri Jun 20 14:05:09 2003 @@ -120,7 +120,7 @@ dict_init() if(strncmp(buffer, "ATTRIBUTE", 9) == 0) { vendorstr[0] = '\0'; /* Read the ATTRIBUTE line */ - if(sscanf(buffer, "%64s%64s%64s%64s%64s", + if(sscanf(buffer, "%63s%63s%63s%63s%63s", dummystr, namestr, valstr, typestr,vendorstr) < 4) { log_err("invalid attribute on line %d of dictionary file %s\n", line_no,dictfile); @@ -190,7 +190,7 @@ dict_init() else if(strncmp(buffer, "VALUE", 5) == 0) { /* Read the VALUE line */ - if(sscanf(buffer, "%64s%64s%64s%64s", dummystr, + if(sscanf(buffer, "%63s%63s%63s%63s", dummystr, attrstr, namestr, valstr) != 4) { log_err("Invalid value entry on line %d of dictionary %s\n", line_no, dictfile); @@ -237,7 +237,7 @@ dict_init() } else if(strncmp(buffer, "VENDOR", 6) == 0) { /* Read the VENDOR line */ - if(sscanf(buffer, "%64s%64s%64s", dummystr, namestr, + if(sscanf(buffer, "%63s%63s%63s", dummystr, namestr, valstr) < 3) { log_err("invalid vendor on line %d of dictionary file %s\n", line_no, dictfile); return(-1);