+2020-08-25  Alan Modra  <amodra@gmail.com>
+
+       PR 26430
+       * elf-nacl.c (nacl_modify_segment_map): Correct alloc size and
+       amount copied for elf_segment_map defined with one element
+       sections array.
+
 2020-08-25  Alan Modra  <amodra@gmail.com>
 
        PR 26422
 
                  secdata->this_hdr.sh_addr = sec->vma;
                  secdata->this_hdr.sh_size = sec->size;
 
-                 newseg = bfd_alloc (abfd,
-                                     sizeof *newseg + ((seg->count + 1)
-                                                       * sizeof (asection *)));
+                 newseg
+                   = bfd_alloc (abfd, (sizeof (*newseg)
+                                       + seg->count * sizeof (asection *)));
                  if (newseg == NULL)
                    return FALSE;
-                 memcpy (newseg, seg,
-                         sizeof *newseg + (seg->count * sizeof (asection *)));
+                 memcpy (newseg, seg, (sizeof (*newseg) - sizeof (asection *)
+                                       + seg->count * sizeof (asection *)));
                  newseg->sections[newseg->count++] = sec;
                  *m = seg = newseg;
                }