diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e98762dbda11817ec21e108977b99142841d24d1..b98929533eae5b9fefd239effd5eb4db4778b72e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
 2000-04-15  Zack Weinberg  <zack@wolery.cumb.org>
 
+	* cpplex.c (_cpp_read_and_prescan): Enlarge len by setting it
+	to offset * 2.
+
 	* cpplex.c (output_line_command): Remove debugging prints.
 	(cpp_output_tokens): Don't write out a zero-length buffer or
 	try to see if it has a newline in it.
diff --git a/gcc/cpplex.c b/gcc/cpplex.c
index f4f7c8def67eb280e160c8cae70b5cf7fa92d545..6507e3307a7f80bfcda15ce23c9e2d063c54b005 100644
--- a/gcc/cpplex.c
+++ b/gcc/cpplex.c
@@ -1651,7 +1651,7 @@ _cpp_read_and_prescan (pfile, fp, desc, len)
 	    {
 	      size_t delta_op;
 	      size_t delta_line_base;
-	      len *= 2;
+	      len = offset * 2;
 	      if (offset > len)
 		/* len overflowed.
 		   This could happen if the file is larger than half the