mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
* io/ftw.c (open_dir_stream): Return right away if REALLOC fails.
[Coverity CID 229, 230] * argp/argp-help.c (hol_entry_help): Handle STATE==NULL in ARG and DGETTEXT calls. (hol_help): Likewise. [Coverity CID 226, 227] * string/argz-replace.c (__argz_replace): Unconditionally call free on SRC. [Coverity CID 225] * nis/nis_creategroup.c (nis_creategroup): No need to duplicate the return value of __nis_default_owner and __nis_default_group, it has been especially allocated. [Coverity CID 224]
This commit is contained in:
14
ChangeLog
14
ChangeLog
@ -1,5 +1,19 @@
|
|||||||
2006-05-09 Ulrich Drepper <drepper@redhat.com>
|
2006-05-09 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* io/ftw.c (open_dir_stream): Return right away if REALLOC fails.
|
||||||
|
[Coverity CID 229, 230]
|
||||||
|
|
||||||
|
* argp/argp-help.c (hol_entry_help): Handle STATE==NULL in ARG and
|
||||||
|
DGETTEXT calls.
|
||||||
|
(hol_help): Likewise. [Coverity CID 226, 227]
|
||||||
|
|
||||||
|
* string/argz-replace.c (__argz_replace): Unconditionally call
|
||||||
|
free on SRC. [Coverity CID 225]
|
||||||
|
|
||||||
|
* nis/nis_creategroup.c (nis_creategroup): No need to duplicate
|
||||||
|
the return value of __nis_default_owner and __nis_default_group,
|
||||||
|
it has been especially allocated. [Coverity CID 224]
|
||||||
|
|
||||||
* nis/nis_defaults.c (searchXYX): New functions. Used by both
|
* nis/nis_defaults.c (searchXYX): New functions. Used by both
|
||||||
searchgroup and searchowner. Significantly simplified.
|
searchgroup and searchowner. Significantly simplified.
|
||||||
(__nis_default_owner): Remove duplication. Do not locally copy the
|
(__nis_default_owner): Remove duplication. Do not locally copy the
|
||||||
|
@ -1105,7 +1105,9 @@ hol_entry_help (struct hol_entry *entry, const struct argp_state *state,
|
|||||||
__argp_fmtstream_putc (stream, '-');
|
__argp_fmtstream_putc (stream, '-');
|
||||||
__argp_fmtstream_putc (stream, *so);
|
__argp_fmtstream_putc (stream, *so);
|
||||||
if (!have_long_opt || uparams.dup_args)
|
if (!have_long_opt || uparams.dup_args)
|
||||||
arg (real, " %s", "[%s]", state->root_argp->argp_domain, stream);
|
arg (real, " %s", "[%s]",
|
||||||
|
state == NULL ? NULL : state->root_argp->argp_domain,
|
||||||
|
stream);
|
||||||
else if (real->arg)
|
else if (real->arg)
|
||||||
hhstate->suppressed_dup_arg = 1;
|
hhstate->suppressed_dup_arg = 1;
|
||||||
}
|
}
|
||||||
@ -1125,7 +1127,8 @@ hol_entry_help (struct hol_entry *entry, const struct argp_state *state,
|
|||||||
have been done on the original; but documentation options
|
have been done on the original; but documentation options
|
||||||
should be pretty rare anyway... */
|
should be pretty rare anyway... */
|
||||||
__argp_fmtstream_puts (stream,
|
__argp_fmtstream_puts (stream,
|
||||||
dgettext (state->root_argp->argp_domain,
|
dgettext (state == NULL ? NULL
|
||||||
|
: state->root_argp->argp_domain,
|
||||||
opt->name));
|
opt->name));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1138,7 +1141,8 @@ hol_entry_help (struct hol_entry *entry, const struct argp_state *state,
|
|||||||
{
|
{
|
||||||
comma (uparams.long_opt_col, &pest);
|
comma (uparams.long_opt_col, &pest);
|
||||||
__argp_fmtstream_printf (stream, "--%s", opt->name);
|
__argp_fmtstream_printf (stream, "--%s", opt->name);
|
||||||
arg (real, "=%s", "[=%s]", state->root_argp->argp_domain, stream);
|
arg (real, "=%s", "[=%s]",
|
||||||
|
state == NULL ? NULL : state->root_argp->argp_domain, stream);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1157,7 +1161,8 @@ hol_entry_help (struct hol_entry *entry, const struct argp_state *state,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const char *tstr = real->doc ? dgettext (state->root_argp->argp_domain,
|
const char *tstr = real->doc ? dgettext (state == NULL ? NULL
|
||||||
|
: state->root_argp->argp_domain,
|
||||||
real->doc) : 0;
|
real->doc) : 0;
|
||||||
const char *fstr = filter_doc (tstr, real->key, entry->argp, state);
|
const char *fstr = filter_doc (tstr, real->key, entry->argp, state);
|
||||||
if (fstr && *fstr)
|
if (fstr && *fstr)
|
||||||
@ -1205,7 +1210,8 @@ hol_help (struct hol *hol, const struct argp_state *state,
|
|||||||
|
|
||||||
if (hhstate.suppressed_dup_arg && uparams.dup_args_note)
|
if (hhstate.suppressed_dup_arg && uparams.dup_args_note)
|
||||||
{
|
{
|
||||||
const char *tstr = dgettext (state->root_argp->argp_domain, "\
|
const char *tstr = dgettext (state == NULL ? NULL
|
||||||
|
: state->root_argp->argp_domain, "\
|
||||||
Mandatory or optional arguments to long options are also mandatory or \
|
Mandatory or optional arguments to long options are also mandatory or \
|
||||||
optional for any corresponding short options.");
|
optional for any corresponding short options.");
|
||||||
const char *fstr = filter_doc (tstr, ARGP_KEY_HELP_DUP_ARGS_NOTE,
|
const char *fstr = filter_doc (tstr, ARGP_KEY_HELP_DUP_ARGS_NOTE,
|
||||||
|
3
io/ftw.c
3
io/ftw.c
@ -301,8 +301,7 @@ open_dir_stream (int *dfdp, struct ftw_data *data, struct dir_data *dirp)
|
|||||||
int save_err = errno;
|
int save_err = errno;
|
||||||
free (buf);
|
free (buf);
|
||||||
__set_errno (save_err);
|
__set_errno (save_err);
|
||||||
result = -1;
|
return -1;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
buf = newp;
|
buf = newp;
|
||||||
}
|
}
|
||||||
|
@ -52,8 +52,8 @@ nis_creategroup (const_nis_name group, unsigned int flags)
|
|||||||
|
|
||||||
obj->zo_oid.ctime = obj->zo_oid.mtime = time (NULL);
|
obj->zo_oid.ctime = obj->zo_oid.mtime = time (NULL);
|
||||||
obj->zo_name = strdup (leafbuf);
|
obj->zo_name = strdup (leafbuf);
|
||||||
obj->zo_owner = strdup (__nis_default_owner (NULL));
|
obj->zo_owner = __nis_default_owner (NULL);
|
||||||
obj->zo_group = strdup (__nis_default_group (NULL));
|
obj->zo_group = __nis_default_group (NULL);
|
||||||
obj->zo_domain = strdup (domainbuf);
|
obj->zo_domain = strdup (domainbuf);
|
||||||
if (obj->zo_name == NULL || obj->zo_owner == NULL
|
if (obj->zo_name == NULL || obj->zo_owner == NULL
|
||||||
|| obj->zo_group == NULL || obj->zo_domain == NULL)
|
|| obj->zo_group == NULL || obj->zo_domain == NULL)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* String replacement in an argz vector
|
/* String replacement in an argz vector
|
||||||
Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
Copyright (C) 1997, 1998, 2006 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Written by Miles Bader <miles@gnu.ai.mit.edu>
|
Written by Miles Bader <miles@gnu.ai.mit.edu>
|
||||||
|
|
||||||
@ -121,7 +121,6 @@ __argz_replace (char **argz, size_t *argz_len, const char *str, const char *with
|
|||||||
if (! delayed_copy)
|
if (! delayed_copy)
|
||||||
/* We never found any instances of str. */
|
/* We never found any instances of str. */
|
||||||
{
|
{
|
||||||
if (src)
|
|
||||||
free (src);
|
free (src);
|
||||||
*argz = dst;
|
*argz = dst;
|
||||||
*argz_len = dst_len;
|
*argz_len = dst_len;
|
||||||
|
Reference in New Issue
Block a user