From b15fb6e065f9f61bf60320d35b1df8d10027f65c Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Tue, 24 Aug 2010 13:06:24 +0000 Subject: =?UTF-8?q?2010-08-24=09Ralf=20Cors=C3=A9pius=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libmisc/untar/untar.c: Return if open fails. Use ssize_t for read() return value. --- cpukit/libmisc/untar/untar.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'cpukit/libmisc/untar') diff --git a/cpukit/libmisc/untar/untar.c b/cpukit/libmisc/untar/untar.c index b31eec9077..2c5c8e9cf3 100644 --- a/cpukit/libmisc/untar/untar.c +++ b/cpukit/libmisc/untar/untar.c @@ -254,7 +254,7 @@ Untar_FromFile( { int fd; char *bufr; - size_t n; + ssize_t n; char fname[100]; char linkname[100]; int sum; @@ -265,15 +265,17 @@ Untar_FromFile( unsigned long size; unsigned char linkflag; - retval = UNTAR_SUCCESSFUL; + + if ((fd = open(tar_name, O_RDONLY)) < 0) { + return UNTAR_FAIL; + } + bufr = (char *)malloc(512); - if (bufr == NULL) - { + if (bufr == NULL) { return(UNTAR_FAIL); } - - fd = open(tar_name, O_RDONLY); + while (1) { /* Read the header */ -- cgit v1.2.3