rbcfg: Add missing mode to open call
authorHauke Mehrtens <hauke@hauke-m.de>
Sat, 18 Apr 2020 15:44:13 +0000 (17:44 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 18 Apr 2020 19:06:45 +0000 (21:06 +0200)
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>
package/boot/rbcfg/Makefile
package/boot/rbcfg/src/main.c

index 55e0ea7490d22e2a6c7b36bd7d8c71b4d7558c95..874ef069248609965526d7a27d0b38c3b0275381 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=rbcfg
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
index 2acbfbd8cba3d70806bd20efcb8543b6c1d52a87..7da46f90a50cfdfffa861c3c712e00e5aad7f554 100644 (file)
@@ -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;