aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2020-04-18 17:44:13 +0200
committerHauke Mehrtens <hauke@hauke-m.de>2020-04-18 21:06:45 +0200
commit14c59a147cae2db25d3b9bfa54892f34a60231e2 (patch)
treeb3598c09d77c05c7dfa8ef378677a9c537a0e020
parent70a962ca6f13e82d8d67f5c8ee65064a41f66a9c (diff)
downloadupstream-14c59a147cae2db25d3b9bfa54892f34a60231e2.tar.gz
upstream-14c59a147cae2db25d3b9bfa54892f34a60231e2.tar.bz2
upstream-14c59a147cae2db25d3b9bfa54892f34a60231e2.zip
rbcfg: Add missing mode to open call
When open() is called with O_CREAT a 3. parameter has to be given with the file system permissions of the new file. Not giving this is an error, which results in a compile error with glibc. This fixes the following compile error with glibc: ---------------------------------------------------------------------- In file included from /include/fcntl.h:329, from main.c:18: In function 'open', inlined from 'rbcfg_update' at main.c:501:7: /include/bits/fcntl2.h:50:4: error: call to '__open_missing_mode' declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments __open_missing_mode (); ^~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r--package/boot/rbcfg/Makefile2
-rw-r--r--package/boot/rbcfg/src/main.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/package/boot/rbcfg/Makefile b/package/boot/rbcfg/Makefile
index 55e0ea7490..874ef06924 100644
--- a/package/boot/rbcfg/Makefile
+++ b/package/boot/rbcfg/Makefile
@@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=rbcfg
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
diff --git a/package/boot/rbcfg/src/main.c b/package/boot/rbcfg/src/main.c
index 2acbfbd8cb..7da46f90a5 100644
--- a/package/boot/rbcfg/src/main.c
+++ b/package/boot/rbcfg/src/main.c
@@ -498,7 +498,7 @@ rbcfg_update(int tmp)
put_u32(ctx->buf + 4, crc);
name = (tmp) ? ctx->tmp_file : ctx->mtd_device;
- fd = open(name, O_WRONLY | O_CREAT);
+ fd = open(name, O_WRONLY | O_CREAT, 0640);
if (fd < 0) {
fprintf(stderr, "unable to open %s for writing\n", name);
err = RB_ERR_IO;