From 06dc599405fd8a87147eddcdb89dab62ce200d9b Mon Sep 17 00:00:00 2001 From: Marcel Raad Date: Tue, 13 Jun 2023 11:13:59 +0200 Subject: [PATCH] fopen: fix conversion warning on 32-bit Android When building for 32-bit ARM or x86 Android, `st_mode` is defined as `unsigned int` instead of `mode_t`, resulting in a -Wimplicit-int-conversion clang warning because `mode_t` is `unsigned short`. Add a cast to silence the warning. Ref: https://android.googlesource.com/platform/bionic/+/refs/tags/ndk-r25c/libc/include/sys/stat.h#86 Closes https://github.com/curl/curl/pull/11313 --- lib/fopen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/fopen.c b/lib/fopen.c index f710dbf05a..c9c9e3d6e7 100644 --- a/lib/fopen.c +++ b/lib/fopen.c @@ -85,7 +85,7 @@ CURLcode Curl_fopen(struct Curl_easy *data, const char *filename, if((fstat(fd, &nsb) != -1) && (nsb.st_uid == sb.st_uid) && (nsb.st_gid == sb.st_gid)) { /* if the user and group are the same, clone the original mode */ - if(fchmod(fd, sb.st_mode) == -1) + if(fchmod(fd, (mode_t)sb.st_mode) == -1) goto fail; } } -- 2.47.3