From c0dcf3238bb9341c03bdb7f73c1af1b3898de557 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Fri, 23 Oct 2009 06:06:46 -0600 Subject: build: prohibit improper use of stat and lstat * cfg.mk (sc_prohibit_stat_macro_address): New rule. * src/ln.c (do_link): Adjust comment to avoid false positive. * src/stat.c (do_stat): Likewise. * src/touch.c (main): Likewise. --- src/ln.c | 2 +- src/stat.c | 2 +- src/touch.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/ln.c b/src/ln.c index 4f75c1919..197a8faec 100644 --- a/src/ln.c +++ b/src/ln.c @@ -138,7 +138,7 @@ do_link (const char *source, const char *dest) { /* Which stat to use depends on whether linkat will follow the symlink. We can't use the shorter - (logical ? stat : lstat) (source, &source_stats) + (logical?stat:lstat) (source, &source_stats) since stat might be a function-like macro. */ if ((logical ? stat (source, &source_stats) : lstat (source, &source_stats)) diff --git a/src/stat.c b/src/stat.c index d3e16d705..ae5491154 100644 --- a/src/stat.c +++ b/src/stat.c @@ -903,7 +903,7 @@ do_stat (char const *filename, bool terse, char const *format) } } /* We can't use the shorter - (follow_links ? stat : lstat) (filename, &statbug) + (follow_links?stat:lstat) (filename, &statbug) since stat might be a function-like macro. */ else if ((follow_links ? stat (filename, &statbuf) diff --git a/src/touch.c b/src/touch.c index d44bd2739..11d73ce6c 100644 --- a/src/touch.c +++ b/src/touch.c @@ -348,7 +348,7 @@ main (int argc, char **argv) if (use_ref) { struct stat ref_stats; - /* Don't use (no_dereference ? lstat : stat) (args), since stat + /* Don't use (no_dereference?lstat:stat) (args), since stat might be an object-like macro. */ if (no_dereference ? lstat (ref_file, &ref_stats) : stat (ref_file, &ref_stats)) -- cgit v1.2.3-54-g00ecf