From 7c7c063b5cc9e842b56f7167556432b5ec5ddf2f Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Thu, 21 May 2020 17:19:38 +0200 Subject: [PATCH] fchownat: Support clang -fsanitize=implicit-integer-sign-change better. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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. --- ChangeLog | 9 +++++++++ m4/fchownat.m4 | 6 +++--- 2 files changed, 12 insertions(+), 3 deletions(-) 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; -- 2.39.5