diff options
author | Mike Frysinger <vapier@gentoo.org> | 2011-06-07 02:19:05 -0400 |
---|---|---|
committer | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2011-06-07 09:52:51 +0300 |
commit | 58ece20278fdc8730a017a1744afe717ccb771de (patch) | |
tree | 269dae08d56d6d387e21fca4019565c320b80709 | |
parent | f507ec5e6be795fcb67e472ce98fd084ac9bb1d1 (diff) |
libmtd: use O_CLOEXEC
Not strictly necessary, but this is good library behavior and
should carry no runtime overhead.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
-rw-r--r-- | include/common.h | 5 | ||||
-rw-r--r-- | lib/libmtd.c | 10 |
2 files changed, 10 insertions, 5 deletions
diff --git a/include/common.h b/include/common.h index c37660c..7ea282c 100644 --- a/include/common.h +++ b/include/common.h @@ -23,6 +23,7 @@ #include <stdlib.h> #include <ctype.h> #include <string.h> +#include <fcntl.h> #include <errno.h> #ifndef PROGRAM_NAME @@ -42,6 +43,10 @@ extern "C" { #define min(a, b) MIN(a, b) /* glue for linux kernel source */ #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0])) +#ifndef O_CLOEXEC +#define O_CLOEXEC 0 +#endif + /* Verbose messages */ #define bareverbose(verbose, fmt, ...) do { \ if (verbose) \ diff --git a/lib/libmtd.c b/lib/libmtd.c index 7fabd80..a651808 100644 --- a/lib/libmtd.c +++ b/lib/libmtd.c @@ -77,7 +77,7 @@ static int read_data(const char *file, void *buf, int buf_len) { int fd, rd, tmp, tmp1; - fd = open(file, O_RDONLY); + fd = open(file, O_RDONLY | O_CLOEXEC); if (fd == -1) return -1; @@ -201,7 +201,7 @@ static int read_hex_ll(const char *file, long long *value) int fd, rd; char buf[50]; - fd = open(file, O_RDONLY); + fd = open(file, O_RDONLY | O_CLOEXEC); if (fd == -1) return -1; @@ -253,7 +253,7 @@ static int read_pos_ll(const char *file, long long *value) int fd, rd; char buf[50]; - fd = open(file, O_RDONLY); + fd = open(file, O_RDONLY | O_CLOEXEC); if (fd == -1) return -1; @@ -538,7 +538,7 @@ static int sysfs_is_supported(struct libmtd *lib) return 0; sprintf(file, lib->mtd_name, num); - fd = open(file, O_RDONLY); + fd = open(file, O_RDONLY | O_CLOEXEC); if (fd == -1) return 0; @@ -1193,7 +1193,7 @@ int mtd_write_img(const struct mtd_dev_info *mtd, int fd, int eb, int offs, return -1; } - in_fd = open(img_name, O_RDONLY); + in_fd = open(img_name, O_RDONLY | O_CLOEXEC); if (in_fd == -1) return sys_errmsg("cannot open \"%s\"", img_name); |