mirror of
git://sourceware.org/git/glibc.git
synced 2025-03-25 13:51:04 +08:00
* nis/ypclnt.c (__xdr_ypresp_all): Minor optimization in string
handling. Fix typo in comment.
This commit is contained in:
parent
464c9fadaf
commit
912873399c
@ -1,3 +1,8 @@
|
||||
2006-04-28 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* nis/ypclnt.c (__xdr_ypresp_all): Minor optimization in string
|
||||
handling. Fix typo in comment.
|
||||
|
||||
2006-04-27 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* nscd/connections.c (restart): If we want to switch back to the
|
||||
|
10
nis/ypclnt.c
10
nis/ypclnt.c
@ -686,10 +686,10 @@ __xdr_ypresp_all (XDR *xdrs, struct ypresp_all_data *objp)
|
||||
if we don't modify the length. So add an extra NUL
|
||||
character to avoid trouble with broken code. */
|
||||
objp->status = YP_TRUE;
|
||||
memcpy (key, resp.ypresp_all_u.val.key.keydat_val, keylen);
|
||||
key[keylen] = '\0';
|
||||
memcpy (val, resp.ypresp_all_u.val.val.valdat_val, vallen);
|
||||
val[vallen] = '\0';
|
||||
*((char *) __mempcpy (key, resp.ypresp_all_u.val.key.keydat_val,
|
||||
keylen)) = '\0';
|
||||
*((char *) __mempcpy (val, resp.ypresp_all_u.val.val.valdat_val,
|
||||
vallen)) = '\0';
|
||||
xdr_free ((xdrproc_t) xdr_ypresp_all, (char *) &resp);
|
||||
if ((*objp->foreach) (objp->status, key, keylen,
|
||||
val, vallen, objp->data))
|
||||
@ -700,7 +700,7 @@ __xdr_ypresp_all (XDR *xdrs, struct ypresp_all_data *objp)
|
||||
objp->status = resp.ypresp_all_u.val.stat;
|
||||
xdr_free ((xdrproc_t) xdr_ypresp_all, (char *) &resp);
|
||||
/* Sun says we don't need to make this call, but must return
|
||||
immediatly. Since Solaris makes this call, we will call
|
||||
immediately. Since Solaris makes this call, we will call
|
||||
the callback function, too. */
|
||||
(*objp->foreach) (objp->status, NULL, 0, NULL, 0, objp->data);
|
||||
return TRUE;
|
||||
|
@ -1873,14 +1873,23 @@ finish_drop_privileges (void)
|
||||
error (EXIT_FAILURE, errno, _("setgroups failed"));
|
||||
}
|
||||
|
||||
if (setresgid (server_gid, server_gid, old_gid) == -1)
|
||||
int res;
|
||||
if (paranoia)
|
||||
res = setresgid (server_gid, server_gid, old_gid);
|
||||
else
|
||||
res = setgid (server_gid);
|
||||
if (res == -1)
|
||||
{
|
||||
dbg_log (_("Failed to run nscd as user '%s'"), server_user);
|
||||
perror ("setgid");
|
||||
exit (4);
|
||||
}
|
||||
|
||||
if (setresuid (server_uid, server_uid, old_uid) == -1)
|
||||
if (paranoia)
|
||||
res = setresuid (server_uid, server_uid, old_uid);
|
||||
else
|
||||
res = setuid (server_uid);
|
||||
if (res == -1)
|
||||
{
|
||||
dbg_log (_("Failed to run nscd as user '%s'"), server_user);
|
||||
perror ("setuid");
|
||||
|
Loading…
x
Reference in New Issue
Block a user