diff --git a/cpio/Android.mk b/cpio/Android.mk index 5184463bc..575beb2c5 100644 --- a/cpio/Android.mk +++ b/cpio/Android.mk @@ -8,6 +8,8 @@ LOCAL_SRC_FILES := \ LOCAL_MODULE := mkbootfs +LOCAL_CFLAGS := -Werror + include $(BUILD_HOST_EXECUTABLE) $(call dist-for-goals,dist_files,$(LOCAL_BUILT_MODULE)) diff --git a/cpio/mkbootfs.c b/cpio/mkbootfs.c index 7d3740c0f..7175749b1 100644 --- a/cpio/mkbootfs.c +++ b/cpio/mkbootfs.c @@ -78,8 +78,9 @@ static void fix_stat(const char *path, struct stat *s) s->st_mode = empty_path_config->mode | (s->st_mode & ~07777); } else { // Use the compiled-in fs_config() function. - - fs_config(path, S_ISDIR(s->st_mode), &s->st_uid, &s->st_gid, &s->st_mode, &capabilities); + unsigned st_mode = s->st_mode; + fs_config(path, S_ISDIR(s->st_mode), &s->st_uid, &s->st_gid, &st_mode, &capabilities); + s->st_mode = (typeof(s->st_mode)) st_mode; } }