parameter.
(_nss_nisplus_parse_pwent_chk): New prototype.
* nis/nss_nisplus/nisplus-parser.c (_nss_nisplus_parse_pwent):
Add entry parameter. Use it for column value in all accesses.
Move checks for well-formed reply to...
(_nss_nisplus_parse_pwent_chk): ...here. New function.
* nis/nss_nisplus/nisplus-pwd.c: Support SETENT_BATCH_READ option.
variable.
* nis/nss-nis.h: Define response_t and intern_t. Declare _nis_saveit.
* nis/nss_nis/nis-pwd.c: Remove response_t and intern_t definition.
(saveit): Renamed to _nis_saveit. Take parameter which is pointer
to the intern_t object. Change all users.
* nis/nss_nis/nis-grp.c: Remove response_t, intern_t, and saveit
definition. Use _nis_saveit instead of saveit.
* nis/nss_nis/nis-service.c: Likewise.
* nis/nss_nis/nis-initgroups.c: Likewise.
(internal_setgrent): Adjust for buffer handling.
(internal_getgrent_r): Likewise.
* nis/nss_nis/nis-rpc.c: Likewise.
* nis/nss: Document SETENT_BATCH_READ.
* nis/libnsl.h: Define NSS_FLAG_SETENT_BATCH_READ.
* nis/nss_nis/nis-service.c (saveit): Don't add NUL byte if the
string is already NUL terminated.
(internal_nis_endservent): No need to return anything. Change callers.
(internal_nis_setservent): One more initialization.
* nis/nss_nis/nis-pwd.c: Support SETENT_BATCH_READ option.
* nis/nss_nis/nis-grp.c: Likewise.
* nis/nss-default.c (init): Rewrite parser to get the variables
Minor cleanups. NUL terminate name string.
* nis/Versions: No need to export _nss_nisplus_parse_grent,
_nss_nisplus_parse_pwent, and _nss_nisplus_parse_spent.
after the loop [Coverity CID 187].
* nis/nis_getservlist.c (nis_getservlist): Also free lookup result
in error case [Coverity CID 189].
* nis/nis_getservlist.c (nis_getservlist): One more free call
needed [Coverity CID 190].
invalid length [Coverity CID 106].
* nss/nss_files/files-key.c (search): Close stream before
successful return [Coverity CID 107].
* io/fts.c (fts_open): Don't allocate parent if *argv==NULL
[Coverity CID 108].
* sunrpc/rpc_cout.c (inline_struct): Free sizestr after use
[Coverity CID 110, 109].
* sunrpc/rpc_scan.c (docppline): Free file string if it is not
going to be used [Coverity CID 111].
* sysdeps/unix/sysv/linux/getsourcefilter.c (getsourcefilter): Free
memory if socket level value cannot be retrieved [Coverity CID 112].
* nis/nis_clone_dir.c (nis_clone_directory): Free all memory in
error case [Coverity CID 114].
* nis/nis_clone_res.c (nis_clone_result): Free all memory in the
error cases [Coverity CID 115].
* sunrpc/rpc_parse.c (get_definition): Free defp if tok ==
TOK_EOF [Coverity CID 116].
* sysdeps/unix/sysv/linux/setsourcefilter.c (setsourcefilter): Free
memory if socket level value cannot be retrieved [Coverity CID 117].
* elf/cache.c (save_cache): Initialize pad to avoid writing
uninitialized data to disk.
* elf/cache.c (save_cache): Free file_entries_new [Coverity CID 118].
* intl/finddomain.c (_nl_find_domain): Avoid strdup of expand
locale name, use strdupa. Remove free call [Coverity CID 119].
* sunrpc/rpc_main.c (generate_guard): Avoid extra allocation and
the resulting leak [Coverity CID 121].
* sunrpc/rpc_main.c (mkfile_output): Free all allocated memory
[Coverity CID 122].
* sunrpc/rpc_main.c (h_output): Free guard after we are done
[Coverity CID 123].
* sunrpc/svc_udp.c (cache_set): Free victim if newbuf allocation
fails [Coverity CID 126].
* sunrpc/svc_udp.c (svcudp_enablecache): Free memory in error
cases [Coverity CID 127].
* nis/nis_table.c (__create_ib_request): Free ibreq in case strdup
fails [Coverity CID 128].
* nis/nis_getservlist.c (nis_getservlist): Free all memory in case
of an error [Coverity CID 130, 129].
* nis/nis_print_group_entry.c (nis_print_group_entry): If
nis_lookup call failed, return. Free lookup result in error
cases [Coverity CID 131].
* nis/nis_removemember.c (nis_removemember): Free all memory in
error cases [Coverity CID 132].
* nis/nss_nisplus/nisplus-alias.c (_nss_nisplus_getaliasbyname_r):
Always free lookup result [Coverity CID 134].
* nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_gethostton_r):
Always free lookup result [Coverity CID 135].
* nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_getntohost_r):
Always free lookup result [Coverity CID 136].
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_getnetbyaddr_r):
Before retrying, free old result [Coverity CID 137].
* nis/nss_nisplus/nisplus-publickey.c (_nss_nisplus_netname2user):
Free res in case UID is zero [Coverity CID 138].
* nis/ypclnt.c (yp_update): Always free master string
[Coverity CID 140].
* nis/nis_creategroup.c (nis_creategroup): Free all memory in
error cases [Coverity CID 143, 142, 141].
* nis/nss_nis/nis-publickey.c (_nss_nis_getpublickey): Free result
if yp_match call succeeded [Coverity CID 155].
* nis/nss_nis/nis-publickey.c (_nss_nis_getsecretkey): Free string
allocated in yp_match at all times [Coverity CID 157, 156].
* nscd/nscd.c (write_pid): Close stream also if writing failed
[Coverity CID 165].
* nis/nis_table.c (nis_add_entry): Move test for NULL parameter
ahead of first use [Coverity CID 167].
* nis/nss_nis/nis-alias.c (_nss_nis_getaliasbyname_r): Move test
for NULL parameter ahead of first use [Coverity CID 168].
* intl/finddomain.c (_nl_find_domain): We never return NULL if we
found the locale [Coverity CID 169].
* inet/getnameinfo.c (getnameinfo): __getservbyport_r does not set
herrno [Coverity CID 178].
* nis/nis_checkpoint.c (nis_checkpoint): Don't access and returned
freed object [Coverity CID 182].
->clnt cannot be != NULL.
(__do_niscall): No need to use __nisbind_destroy, __nisbind_next
did it.
(__nisbind_connect): use_auth is already TRUE, otherwise we would
not be here.
* nis/nis_lookup.c (nis_lookup): Remove unnecessary
__nisbind_destroy calls. __nisbind_next does all that.
there is an overflow.
* nis/nss_nisplus/nisplus-netgrp.c (_nss_nisplus_setnetgrent):
Rewrite to use snprintf.
* nis/nss_nisplus/nisplus-publickey.c (_nss_nisplus_netname2user):
Likewise.
Renamed from _nss_create_tablename. Export from file (but not DSO).
(pwd_tablename_val): Renamed from tablename_val, mark hidden.
(pwd_tablename_len): Renamed from tablename_len, mark hidden.
Change all users.
* nis/nss_nisplus/nisplus-spwd.c (_nss_create_tablename): Removed.
Use _nss_pwd_create_tablename now. Use pwd_tablename_val and
pwd_tablename_len. Remove unnecessary variables, general cleanup.
* nis/nss_nisplus/nisplus-grp.c: Likewise.
(setup): Remove FUNC_NAME and ALL arguments, assume they are always
"setnetgrent" and 1.
(endnetgrent_hook): New function.
(internal_endnetgrent): Use it.
(__internal_setnetgrent_reuse): Use it. Adjust setup caller.
If status is NSS_STATUS_SUCCESS, yet action is continue, call
endnetgrent hook.
(internal_getnetgrent_r): Use __nss_lookup_function rather than
setup. Recompute getfct pointer after successful
__internal_setnetgrent_reuse. Don't use __nss_next.
(innetgr): Use __nss_lookup_function instead of __nss_lookup.
Adjust setup caller.
* nss/nss_files/files-netgrp.c (_nss_files_endnetgrent): Always clear
data_size and cursor. Add libnss_files_hidden_proto and
libnss_files_hidden_def.
(_nss_files_setnetgrent): Call _nss_files_endnetgrent on failure.
* nis/nss_nis/nis-netgrp.c (internal_endnetgrent): Always clear
data_size and cursor.
(_nss_nis_setnetgrent): Don't call internal_endnetgrent.
(_nss_nis_getnetgrent_r): Remove result->cursor == NULL handling.
* nis/nss_nisplus/nisplus-netgrp.c (internal_endnetgrent): Always clear
data_size and position.
(_nss_nisplus_setnetgrent): Don't call internal_endnetgrent.
2005-09-09 Ulrich Drepper <drepper@redhat.com>
* nss/getent.c (netgroup_keys): Call endnetgrent.
(main): Call mtrace.
* nss/nss_files/files-netgrp.c (_nss_files_setnetgrent): We don't
need locking for the stream. Use feof_unlocked.
2005-09-09 Jakub Jelinek <jakub@redhat.com>
2005-08-10 Sergio Gelato <Sergio.Gelato@astro.su.se>
[BZ #1188]
* nis/nss_nis/nis-netgrp.c (_nss_nis_setnetgrent): Change assert check
from (len > 0) to (len >= 0).
2005-08-16 Ulrich Drepper <drepper@redhat.com>
* nis/nis_xdr.c (_xdr_nis_result): Fix type of res variable.
Reported by Thomas Schwinge.
2005-08-15 Jakub Jelinek <jakub@redhat.com>
* nis/nis_subr.c (nis_leaf_of_r): Handle buflen == 0 correctly.
2005-08-16 Ulrich Drepper <drepper@redhat.com>
* nss/getent.c (more_help): Use open_memstream instead of handling
memory allocation ourselves.
2005-08-16 Jay Fenlason <fenlason@redhat.com>
* nss/getent.c (parse_options): change the -s option to support
{database}:{search} to override /etc/resolv.conf for only the
specified database.