Protect against EOF in NNTP-READ-LINE, which causes segfaults
authorTaylor R. Campbell <net/mumble/campbell>
Sun, 25 Dec 2005 05:56:58 +0000 (05:56 +0000)
committerTaylor R. Campbell <net/mumble/campbell>
Sun, 25 Dec 2005 05:56:58 +0000 (05:56 +0000)
elsewhere if unchecked.

v7/src/edwin/nntp.scm

index 5a328742739892baae5911389fbad5d9e173e772..26d3d8f622b98f4ae7c94a0c60a5373b2958c9b4 100644 (file)
@@ -1,9 +1,9 @@
 #| -*-Scheme-*-
 
-$Id: nntp.scm,v 1.29 2004/06/07 19:49:38 cph Exp $
+$Id: nntp.scm,v 1.30 2005/12/25 05:56:58 riastradh Exp $
 
 Copyright 1995,1996,1997,1998,1999,2003 Massachusetts Institute of Technology
-Copyright 2004 Massachusetts Institute of Technology
+Copyright 2004,2005 Massachusetts Institute of Technology
 
 This file is part of MIT/GNU Scheme.
 
@@ -403,7 +403,10 @@ USA.
   (output-port/flush-output (nntp-connection:port connection)))
 
 (define (nntp-read-line connection)
-  (input-port/read-line (nntp-connection:port connection)))
+  (let ((line (input-port/read-line (nntp-connection:port connection))))
+    (if (eof-object? line)
+        (error "Premature EOF from NNTP connection:" connection))
+    line))
 
 (define (nntp-response-number line)
   (if (fix:< (string-length line) 3)