From 8a440f169b9013a6f5606ca8db32bb74bf9814c5 Mon Sep 17 00:00:00 2001 From: Thomas Preud'homme Date: Wed, 5 Oct 2011 21:51:22 +0200 Subject: [PATCH] Error out if no object file header Quit the program if object file header can't be read or is smaller than expected. --- pstack.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pstack.c b/pstack.c index dc89d46..25c14d6 100644 --- a/pstack.c +++ b/pstack.c @@ -488,7 +488,12 @@ static Symbols loadSyms(const char *fname) perror("opening object file"); quit("Could not open object file."); } - read(fd, &hdr, sizeof(hdr)); + if (read(fd, &hdr, sizeof(hdr)) < (int) sizeof(hdr)) + { + fprintf(stderr, "'%s': ", fname); + perror("reading object file ELF header"); + quit("Could not read object file ELF header."); + } verify_ident(&hdr); if (!find_stables(&hdr, fd, syms)) { deleteSyms(syms);