summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Heller <hellerda@linux.vnet.ibm.com>2018-02-16 16:20:52 -0500
committerDave Heller <hellerda@linux.vnet.ibm.com>2018-02-16 16:20:52 -0500
commit5d45e21641bc1dde8880ffc964b1ad96142f35e9 (patch)
tree75fb46dfd9e9443ed196acbdfd0dac7ccd362ac7
parent568d000a6207531dad80b79f8192f1842c96c614 (diff)
downloadsb-signing-utils-5d45e21641bc1dde8880ffc964b1ad96142f35e9.tar.gz
sb-signing-utils-5d45e21641bc1dde8880ffc964b1ad96142f35e9.zip
Simplify code and fix a few clang warnings
Signed-off-by: Dave Heller <hellerda@linux.vnet.ibm.com>
-rw-r--r--create-container.c25
1 files changed, 10 insertions, 15 deletions
diff --git a/create-container.c b/create-container.c
index a825187..50556bc 100644
--- a/create-container.c
+++ b/create-container.c
@@ -389,7 +389,6 @@ int main(int argc, char* argv[])
void *container = malloc(SECURE_BOOT_HEADERS_SIZE);
char *buf = malloc(SECURE_BOOT_HEADERS_SIZE);
struct stat payload_st;
- off_t l;
void *infile = NULL;
int r;
ROM_container_raw *c = (ROM_container_raw*) container;
@@ -833,23 +832,19 @@ int main(int argc, char* argv[])
be64_to_cpu(c->container_size), be64_to_cpu(c->container_size));
// Write container.
- r = write(fdout, container, SECURE_BOOT_HEADERS_SIZE);
- if (r != 4096)
- die(EX_SOFTWARE, "Cannot write container (r = %d)", r);
+ if ((r = write(fdout, container, SECURE_BOOT_HEADERS_SIZE)) != 4096)
+ die(EX_SOFTWARE, "Cannot write container header (r = %d) (%s)", r,
+ strerror(errno));
+
if (fdin > 0) {
- r = read(fdin, buf, payload_st.st_size % 4096);
- r = write(fdout, buf, payload_st.st_size % 4096);
- }
- l = payload_st.st_size - payload_st.st_size % 4096;
- while (l) {
- r = read(fdin, buf, 4096);
- r = write(fdout, buf, 4096);
- l -= 4096;
- };
- if (fdin > 0)
+ if ((r = write(fdout, infile, payload_st.st_size))
+ != payload_st.st_size)
+ die(EX_SOFTWARE, "Cannot write container payload (r = %d) (%s)", r,
+ strerror(errno));
+
close(fdin);
+ }
close(fdout);
-
free(container);
free(buf);
return 0;
OpenPOWER on IntegriCloud