changeset 7931:359834d749db

(make_hdr): Handle case of no "additional header".
author Richard M. Stallman <rms@gnu.org>
date Thu, 16 Jun 1994 23:45:41 +0000
parents d7d962844f5f
children ac4b606bcfa2
files src/unexec.c
diffstat 1 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/unexec.c	Thu Jun 16 23:33:50 1994 +0000
+++ b/src/unexec.c	Thu Jun 16 23:45:41 1994 +0000
@@ -490,6 +490,7 @@
 	  block_copy_start += sizeof (f_ohdr);
 	}
       /* Loop through section headers, copying them in */
+      lseek (a_out, sizeof (f_hdr) + f_hdr.f_opthdr, 0);
       for (scns = f_hdr.f_nscns; scns > 0; scns--) {
 	if (read (a_out, &scntemp, sizeof (scntemp)) != sizeof (scntemp))
 	  {
@@ -657,7 +658,9 @@
    * will not adjust the file pointer for that section correctly.
    */
 
-  lseek (a_out, sizeof (f_hdr) + sizeof (f_ohdr), 0);
+  /* This used to use sizeof (f_ohdr) instead of .f_opthdr.
+     .f_opthdr is said to be right when there is no optional header.  */
+  lseek (a_out, sizeof (f_hdr) + f_hdr.f_opthdr, 0);
 
   for (scns = f_hdr.f_nscns; scns > 0; scns--)
     {