From 0d99032f2a22b97cd7c49bfba4a6cd0b41fd87d6 Mon Sep 17 00:00:00 2001 From: Simon Ruderich Date: Mon, 10 Jun 2019 22:14:50 +0200 Subject: [PATCH] nss: simplify initialization of struct file in map_file() It's not necessary to initialize ->fd at the beginning of map_file() as the call to open(2) will overwrite it anyway. Also adapt a check for a valid file descriptor. Although POSIX states that open(2) returns -1 on error, there is no reason to hard-code this constant. Instead, check for any negative value. --- nss/file.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/nss/file.c b/nss/file.c index 30ea4f9..6da0fd6 100644 --- a/nss/file.c +++ b/nss/file.c @@ -31,10 +31,7 @@ bool map_file(const char *path, struct file *f) { // Fully initialize the struct for unmap_file() and other users - f->fd = -1; - f->size = 0; - f->next_index = 0; - f->header = NULL; + memset(f, 0, sizeof(*f)); f->fd = open(path, O_RDONLY | O_CLOEXEC); if (f->fd < 0) { @@ -81,7 +78,7 @@ void unmap_file(struct file *f) { munmap((void *)f->header, f->size); f->header = NULL; } - if (f->fd != -1) { + if (f->fd >= 0) { close(f->fd); f->fd = -1; } -- 2.45.2