From: Bruno Haible Date: Thu, 21 May 2020 15:19:38 +0000 (+0200) Subject: fchownat: Support clang -fsanitize=implicit-integer-sign-change better. X-Git-Tag: v1.0~4088 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=7c7c063b5cc9e842b56f7167556432b5ec5ddf2f;p=gnulib.git fchownat: Support clang -fsanitize=implicit-integer-sign-change better. Reported by Tim Rühsen in . * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Cast -1 to uid_t or git_t, respectively. --- diff --git a/ChangeLog b/ChangeLog index 2133ea5372..b9048453e2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2020-05-21 Bruno Haible + + fchownat: Support clang -fsanitize=implicit-integer-sign-change better. + Reported by Tim Rühsen in + . + * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG, + gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Cast -1 to uid_t or git_t, + respectively. + 2020-05-18 Tim Rühsen getdelim: Avoid wrong configure results with gcc -fsanitize=address. diff --git a/m4/fchownat.m4 b/m4/fchownat.m4 index cd5c30170a..0a5d637030 100644 --- a/m4/fchownat.m4 +++ b/m4/fchownat.m4 @@ -1,4 +1,4 @@ -# fchownat.m4 serial 5 +# fchownat.m4 serial 6 dnl Copyright (C) 2004-2020 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -64,7 +64,7 @@ AC_DEFUN([gl_FUNC_FCHOWNAT_DEREF_BUG], int main () { - return (fchownat (AT_FDCWD, "$gl_dangle", -1, getgid (), + return (fchownat (AT_FDCWD, "$gl_dangle", (uid_t)(-1), getgid (), AT_SYMLINK_NOFOLLOW) != 0 && errno == ENOENT); } @@ -98,7 +98,7 @@ AC_DEFUN([gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG], fd = open ("conftestdir", O_RDONLY); if (fd < 0) return 3; - ret = fchownat (fd, "", -1, -1, 0); + ret = fchownat (fd, "", (uid_t)(-1), (gid_t)(-1), 0); close (fd); rmdir ("conftestdir"); return ret == 0;