-1.1.6/src/main/conffile.c        2007-04-08 00:28:17.000000000 +0200
+++ freeradius-1.1.6_fixed/src/main/conffile.c  2007-06-14 11:51:58.000000000 +0200
@@ -668,15 +668,21 @@
 
                len = strlen(cbuf);
 
+
                /*
                 *      We've filled the buffer, and there isn't
                 *      a CR in it.  Die!
                 */
                if (cbuf[len - 1] != '\n') {
-                       radlog(L_ERR, "%s[%d]: Line too long",
-                              cf, *lineno);
-                       cf_section_free(&cs);
-                       return NULL;
+                       if(eof && (len > 0) && (len < sizeof(buf))) {
+                               cbuf[len] = '\n';
+                       }
+                       else {
+                               radlog(L_ERR, "%s[%d]: Line too long",
+                                      cf, *lineno);
+                               cf_section_free(&cs);
+                               return NULL;
+                       }
                }
 
                /*


