(read_specs): Use length read when inserting zero.
authorRichard Kenner <kenner@gcc.gnu.org>
Tue, 21 Feb 1995 11:16:06 +0000 (06:16 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Tue, 21 Feb 1995 11:16:06 +0000 (06:16 -0500)
From-SVN: r8979

gcc/gcc.c

index cc0e45bdc9c74c7729ceaf4da81298c0cc46cda1..afa20ef2b3e2f5acbdfd299c09f739c0b1f95f37 100644 (file)
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -1110,6 +1110,7 @@ read_specs (filename)
      char *filename;
 {
   int desc;
+  int readlen;
   struct stat statbuf;
   char *buffer;
   register char *p;
@@ -1126,8 +1127,10 @@ read_specs (filename)
 
   /* Read contents of file into BUFFER.  */
   buffer = xmalloc ((unsigned) statbuf.st_size + 1);
-  read (desc, buffer, (unsigned) statbuf.st_size);
-  buffer[statbuf.st_size] = 0;
+  readlen = read (desc, buffer, (unsigned) statbuf.st_size);
+  if (readlen < 0)
+    pfatal_with_name (filename);
+  buffer[readlen] = 0;
   close (desc);
 
   /* Scan BUFFER for specs, putting them in the vector.  */