Am 01.12.20 um 03:56 schrieb Qianli Zhao: > From: Qianli Zhao <zhaoqianli@xxxxxxxxxx> > > Commit f42db6a33f0e ("Support core files with "unusual" layout") > increased the minimal file size from MIN_NETDUMP_ELF_HEADER_SIZE to > SAFE_NETDUMP_ELF_HEADER_SIZE which lead to crash rejecting very > small kdump files. > > Fix that by erroring out only if we get less than > MIN_NETDUMP_ELF_HEADER_SIZE bytes. > > Signed-off-by: Qianli Zhao <zhaoqianli@xxxxxxxxxx> > --- > - Update commit message > - Add more accurate judgment of read() return value > --- > netdump.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/netdump.c b/netdump.c > index c76d9dd..9a36931 100644 > --- a/netdump.c > +++ b/netdump.c > @@ -119,7 +119,8 @@ is_netdump(char *file, ulong source_query) > Elf64_Phdr *load64; > char *eheader, *sect0; > char buf[BUFSIZE]; > - size_t size, len, tot; > + ssize_t size; > + size_t len, tot; > Elf32_Off offset32; > Elf64_Off offset64; > ulong format; > @@ -142,10 +143,14 @@ is_netdump(char *file, ulong source_query) > if (!read_flattened_format(fd, 0, eheader, size)) > goto bailout; > } else { > - if (read(fd, eheader, size) != size) { > + size = read(fd, eheader, size); > + if (size < 0) { > sprintf(buf, "%s: ELF header read", file); > perror(buf); > goto bailout; > + } else if (size < MIN_NETDUMP_ELF_HEADER_SIZE) { > + fprintf(stderr, "%s: file too small!\n", file); > + goto bailout; > } > } > > Looks good to me, thanks! Acked-and-tested-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility