DO NOT APPLY THIS PATCH. The patch is to highlight code constructs that gcc can't analyse adequately.
Signed-off-by: Duncan Roe <duncan_...@optusnet.com.au> --- lib/exclude.c | 9 +++++++-- lib/fts.c | 2 +- lib/regex_internal.c | 6 +++--- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/exclude.c b/lib/exclude.c index 417ab23d1..cf9a17bb1 100644 --- a/lib/exclude.c +++ b/lib/exclude.c @@ -676,7 +676,7 @@ add_exclude_file (void (*add_func) (struct exclude *, char const *, int), { bool use_stdin = file_name[0] == '-' && !file_name[1]; FILE *in; - int rc = 0; + int rc = 0, rc2; if (use_stdin) in = stdin; @@ -685,7 +685,12 @@ add_exclude_file (void (*add_func) (struct exclude *, char const *, int), rc = add_exclude_fp (call_addfn, ex, in, options, line_end, &add_func); - if (!use_stdin && fclose (in) != 0) + if (use_stdin) + return rc; + + rc2 = fclose (in); + + if (rc2) rc = -1; return rc; diff --git a/lib/fts.c b/lib/fts.c index 31ff21d00..54f29e99b 100644 --- a/lib/fts.c +++ b/lib/fts.c @@ -1494,7 +1494,7 @@ mem1: saved_errno = errno; /* Build a file name for fts_stat to stat. */ if (ISSET(FTS_NOCHDIR)) { p->fts_accpath = p->fts_path; - memmove(cp, p->fts_name, p->fts_namelen + 1); + if(cp)memmove(cp, p->fts_name, p->fts_namelen + 1); } else p->fts_accpath = p->fts_name; diff --git a/lib/regex_internal.c b/lib/regex_internal.c index aefcfa2f5..0ace61cc9 100644 --- a/lib/regex_internal.c +++ b/lib/regex_internal.c @@ -984,7 +984,7 @@ re_node_set_init_1 (re_node_set *set, Idx elem) set->alloc = 1; set->nelem = 1; set->elems = re_malloc (Idx, 1); - if (__glibc_unlikely (set->elems == NULL)) + if (set->elems == NULL) { set->alloc = set->nelem = 0; return REG_ESPACE; @@ -999,7 +999,7 @@ re_node_set_init_2 (re_node_set *set, Idx elem1, Idx elem2) { set->alloc = 2; set->elems = re_malloc (Idx, 2); - if (__glibc_unlikely (set->elems == NULL)) + if (set->elems == NULL) return REG_ESPACE; if (elem1 == elem2) { @@ -1032,7 +1032,7 @@ re_node_set_init_copy (re_node_set *dest, const re_node_set *src) { dest->alloc = dest->nelem; dest->elems = re_malloc (Idx, dest->alloc); - if (__glibc_unlikely (dest->elems == NULL)) + if (dest->elems == NULL) { dest->alloc = dest->nelem = 0; return REG_ESPACE; -- 2.33.1