* src/sort.c (avoid_trashing_input): Fix a typo that could cause a
buffer overrun in theory. In practice this is extremely unlikely,
as it requires running out of file descriptors in a small merge,
presumably because some other process is hogging all the OS's file
descriptors.
files[i].name = temp;
files[i].pid = pid;
- if (i + num_merged < nfiles)
- memmove (&files[i + 1], &files[i + num_merged],
- num_merged * sizeof *files);
+ memmove (&files[i + 1], &files[i + num_merged],
+ (nfiles - (i + num_merged)) * sizeof *files);
ntemps += 1;
nfiles -= num_merged - 1;;
i += num_merged;