From e641ac922b4e4f63f8c93c1eaae4ea516724a548 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 22 Feb 1996 15:34:27 +0000 Subject: [PATCH] more error checking during package write CVS patchset: 394 CVS date: 1996/02/22 15:34:27 --- build/pack.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/build/pack.c b/build/pack.c index dfe5d76..1f3dcbb 100644 --- a/build/pack.c +++ b/build/pack.c @@ -121,7 +121,14 @@ int generateRPM(char *name, /* name-version-release */ writeHeader(fd, header); ifd = open(archiveTemp, O_RDONLY, 0644); while ((count = read(ifd, buffer, sizeof(buffer))) > 0) { - write(fd, buffer, count); + if (count == -1) { + perror("Couldn't read archiveTemp"); + exit(1); + } + if (write(fd, buffer, count) < 0) { + perror("Couldn't write package to temp file"); + exit(1); + } } close(ifd); close(fd); @@ -149,7 +156,14 @@ int generateRPM(char *name, /* name-version-release */ /* Append the header and archive */ ifd = open(sigtarget, O_RDONLY); while ((count = read(ifd, buffer, sizeof(buffer))) > 0) { - write(fd, buffer, count); + if (count == -1) { + perror("Couldn't read sigtarget"); + exit(1); + } + if (write(fd, buffer, count) < 0) { + perror("Couldn't write package"); + exit(1); + } } close(ifd); close(fd); -- 2.7.4