about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog27
-rw-r--r--inet/inet6_option.c6
-rw-r--r--io/fts.c8
-rw-r--r--locale/programs/ld-numeric.c23
-rw-r--r--locale/programs/linereader.c8
-rw-r--r--misc/tsearch.c11
-rw-r--r--sunrpc/rpc_parse.c6
-rw-r--r--sysdeps/posix/tempname.c10
8 files changed, 65 insertions, 34 deletions
diff --git a/ChangeLog b/ChangeLog
index d666ae3fb2..e9b36e03be 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,30 @@
+2006-04-07  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/posix/tempname.c (__gen_tempname): Change attempts_min
+	into a macro.  Use preprocessor to decide how to initialize
+	attempts [Coverity CID 67].
+
+	* io/fts.c (fts_build): Comment out dead code [Coverity CID 68].
+
+	* sunrpc/rpc_parse.c (def_union): Comment out dead code
+	[Coverity CID 70].
+
+	* locale/programs/linereader.c (lr_token): Remove duplicate
+	handling of EOF [Coverity CID 71].
+
+	* locale/programs/ld-numeric.c (numeric_read) [case tok_grouping]:
+	We bail out early if ignore_content is set, so there is no need to
+	check it later again [Coverity CID 72].
+
+	* inet/inet6_option.c (inet6_option_find): Check *tptrp for NULL,
+	not tptrp [Coverity CID 73].
+
+	* inet/inet6_option.c (inet6_option_next): Check *tptrp for NULL,
+	not tptrp [Coverity CID 74].
+
+	* misc/tsearch.c (__tsearch): Don't rotate tree if memory
+	allocation failed [Coverity CID 78].
+
 2006-04-07  Jakub Jelinek  <jakub@redhat.com>
 
 	* sysdeps/generic/unwind-dw2.c (execute_cfa_program): Fix typo in
diff --git a/inet/inet6_option.c b/inet/inet6_option.c
index 2e0fed8a30..f88982e323 100644
--- a/inet/inet6_option.c
+++ b/inet/inet6_option.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
 
@@ -251,7 +251,7 @@ inet6_option_next (cmsg, tptrp)
   const uint8_t *endp = CMSG_DATA (cmsg) + (ip6e->ip6e_len + 1) * 8;
 
   const uint8_t *result;
-  if (tptrp == NULL)
+  if (*tptrp == NULL)
     /* This is the first call, return the first option if there is one.  */
     result = (const uint8_t *) (ip6e + 1);
   else
@@ -308,7 +308,7 @@ inet6_option_find (cmsg, tptrp, type)
   const uint8_t *endp = CMSG_DATA (cmsg) + (ip6e->ip6e_len + 1) * 8;
 
   const uint8_t *next;
-  if (tptrp == NULL)
+  if (*tptrp == NULL)
     /* This is the first call, return the first option if there is one.  */
     next = (const uint8_t *) (ip6e + 1);
   else
diff --git a/io/fts.c b/io/fts.c
index 39c076a2c8..71400d1716 100644
--- a/io/fts.c
+++ b/io/fts.c
@@ -747,6 +747,10 @@ mem1:				saved_errno = errno;
 			p->fts_flags |= FTS_ISW;
 #endif
 
+#if 0
+		/* Unreachable code.  cderrno is only ever set to a nonnull
+		   value if dirp is closed at the same time.  But then we
+		   cannot enter this loop.  */
 		if (cderrno) {
 			if (nlinks) {
 				p->fts_info = FTS_NS;
@@ -754,7 +758,9 @@ mem1:				saved_errno = errno;
 			} else
 				p->fts_info = FTS_NSOK;
 			p->fts_accpath = cur->fts_accpath;
-		} else if (nlinks == 0
+		} else
+#endif
+		if (nlinks == 0
 #if defined DT_DIR && defined _DIRENT_HAVE_D_TYPE
 			   || (nostat &&
 			       dp->d_type != DT_DIR && dp->d_type != DT_UNKNOWN)
diff --git a/locale/programs/ld-numeric.c b/locale/programs/ld-numeric.c
index a101a402f4..a901c4d985 100644
--- a/locale/programs/ld-numeric.c
+++ b/locale/programs/ld-numeric.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1999,2000,2001,2002,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2002,2005,2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
 
@@ -302,7 +302,7 @@ numeric_read (struct linereader *ldfile, struct localedef_t *result,
 	    {
 	      size_t act = 0;
 	      size_t max = 10;
-	      char *grouping = ignore_content ? NULL : xmalloc (max);
+	      char *grouping = xmalloc (max);
 
 	      do
 		{
@@ -321,24 +321,20 @@ numeric_read (struct linereader *ldfile, struct localedef_t *result,
 		    }
 
 		  if (now->tok == tok_minus1)
-		    {
-		      if (!ignore_content)
-			grouping[act++] = '\177';
-		    }
+		    grouping[act++] = '\177';
 		  else if (now->val.num == 0)
 		    {
 		      /* A value of 0 disables grouping from here on but
 			 we must not store a NUL character since this
 			 terminates the string.  Use something different
 			 which must not be used otherwise.  */
-		      if (!ignore_content)
-			grouping[act++] = '\377';
+		      grouping[act++] = '\377';
 		    }
 		  else if (now->val.num > 126)
 		    lr_error (ldfile, _("\
 %s: values for field `%s' must be smaller than 127"),
 			      "LC_NUMERIC", "grouping");
-		  else if (!ignore_content)
+		  else
 		    grouping[act++] = now->val.num;
 
 		  /* Next must be semicolon.  */
@@ -353,13 +349,10 @@ numeric_read (struct linereader *ldfile, struct localedef_t *result,
 	      if (now->tok != tok_eol)
 		goto err_label;
 
-	      if (!ignore_content)
-		{
-		  grouping[act++] = '\0';
+	      grouping[act++] = '\0';
 
-		  numeric->grouping = xrealloc (grouping, act);
-		  numeric->grouping_len = act;
-		}
+	      numeric->grouping = xrealloc (grouping, act);
+	      numeric->grouping_len = act;
 	    }
 	  break;
 
diff --git a/locale/programs/linereader.c b/locale/programs/linereader.c
index 1d3e60f69f..6587f7305b 100644
--- a/locale/programs/linereader.c
+++ b/locale/programs/linereader.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2001,2002,2003,2004,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2005, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
 
@@ -214,12 +214,6 @@ lr_token (struct linereader *lr, const struct charmap_t *charmap,
 	}
       while (isspace (ch));
 
-      if (ch == EOF)
-	{
-	  lr->token.tok = tok_eof;
-	  return &lr->token;
-	};
-
       if (ch != lr->comment_char)
 	break;
 
diff --git a/misc/tsearch.c b/misc/tsearch.c
index 7c3a0aaa78..5ba244b015 100644
--- a/misc/tsearch.c
+++ b/misc/tsearch.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1997, 2000, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>, 1997.
 
@@ -285,11 +285,12 @@ __tsearch (const void *key, void **vrootp, __compar_fn_t compar)
       q->key = key;			/* initialize new node */
       q->red = 1;
       q->left = q->right = NULL;
+
+      if (nextp != rootp)
+	/* There may be two red edges in a row now, which we must avoid by
+	   rotating the tree.  */
+	maybe_split_for_insert (nextp, rootp, parentp, r, p_r, 1);
     }
-  if (nextp != rootp)
-    /* There may be two red edges in a row now, which we must avoid by
-       rotating the tree.  */
-    maybe_split_for_insert (nextp, rootp, parentp, r, p_r, 1);
 
   return q;
 }
diff --git a/sunrpc/rpc_parse.c b/sunrpc/rpc_parse.c
index 9678f28140..f66538701f 100644
--- a/sunrpc/rpc_parse.c
+++ b/sunrpc/rpc_parse.c
@@ -303,7 +303,9 @@ def_union (definition *defp)
   case_list *cases;
 /*  case_list *tcase; */
   case_list **tailp;
+#if 0
   int flag;
+#endif
 
   defp->def_kind = DEF_UNION;
   scan (TOK_IDENT, &tok);
@@ -323,7 +325,9 @@ def_union (definition *defp)
       cases->case_name = tok.str;
       scan (TOK_COLON, &tok);
       /* now peek at next token */
+#if 0
       flag = 0;
+#endif
       if (peekscan (TOK_CASE, &tok))
 	{
 
@@ -340,6 +344,7 @@ def_union (definition *defp)
 	    }
 	  while (peekscan (TOK_CASE, &tok));
 	}
+#if 0
       else if (flag)
 	{
 
@@ -347,6 +352,7 @@ def_union (definition *defp)
 	  tailp = &cases->next;
 	  cases = ALLOC (case_list);
 	};
+#endif
 
       get_declaration (&dec, DEF_UNION);
       cases->case_decl = dec;
diff --git a/sysdeps/posix/tempname.c b/sysdeps/posix/tempname.c
index 0d4bbc418a..c8973a0852 100644
--- a/sysdeps/posix/tempname.c
+++ b/sysdeps/posix/tempname.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1999, 2000, 2001, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -242,11 +242,15 @@ __gen_tempname (char *tmpl, int kind)
      necessary to try all these combinations.  Instead if a reasonable
      number of names is tried (we define reasonable as 62**3) fail to
      give the system administrator the chance to remove the problems.  */
-  unsigned int attempts_min = 62 * 62 * 62;
+#define ATTEMPTS_MIN (62 * 62 * 62)
 
   /* The number of times to attempt to generate a temporary file.  To
      conform to POSIX, this must be no smaller than TMP_MAX.  */
-  unsigned int attempts = attempts_min < TMP_MAX ? TMP_MAX : attempts_min;
+#if ATTEMPTS_MIN < TMP_MAX
+  unsigned int attempts = TMP_MAX;
+#else
+  unsigned int attempts = ATTEMPTS_MIN;
+#endif
 
   len = strlen (tmpl);
   if (len < 6 || strcmp (&tmpl[len - 6], "XXXXXX"))