freebsd-src/lib
Bill Paul acbf996600 In clntudp_call(), it is possible that xdr_replymsg() might fail
partway through its attempt to decode the result structure sent by
the server. If this happens, it can leave the result partially
populated with dynamically allocated memory. In this event, the
xdr_replymsg() failure is detected and RPC_CANTDECODERES is returned,
but the memory in the partially populated result struct is not
free()d.

The end result is that memory is leaked when an RPC_CANTDECODERES
error occurs. (This condition can occur if a CLIENT * handle is created
using clntudp_bufcreate() with a receive buffer size that is too small
to handle the result sent by the server.)

Fixed by setting reply_xdrs.x_op to XDR_FREE and calling
xdr_replymsg() again to free the memory if an RPC_CANTDECODERES error
is detected.

I suspect that the clnt_tcp.c, clnt_unix.c and clnt_raw.c modules
may ha a similar problem, but I haven't duplicated the condition with
those yet.

Found by: dbmalloc
1997-10-26 18:47:31 +00:00
..
compat Add libg++ 3.0 1997-04-03 06:08:28 +00:00
csu/i386 Make this file p-make clean. (Use "ld -O foo" instead of "ld; mv 1997-10-11 02:37:42 +00:00
libalias Upgrade to 2.4 (Fix -PKT_ALIAS_UNREGISTERED_ONLY) 1997-09-06 11:11:43 +00:00
libc In clntudp_call(), it is possible that xdr_replymsg() might fail 1997-10-26 18:47:31 +00:00
libc_r Bring back nanosleep from the cold. 1997-06-04 13:03:12 +00:00
libcom_err Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
libcompat kill the undead 1997-07-13 14:26:00 +00:00
libcrypt When compiling under elf, use correct library naming conventions. Also 1997-09-05 12:12:35 +00:00
libcurses Remove extra definition of vwprintw. 1997-08-23 23:23:07 +00:00
libdisk Fixed this header to compile with gcc -pedantic -Werror (removed comma 1997-03-19 01:54:04 +00:00
libedit Sort cross refereces in section SEE ALSO. 1997-09-29 19:11:55 +00:00
libf2c Add a -I switch to CFLAGS to use the f2c.h header file in the usr.bin/f2c 1997-04-24 17:10:56 +00:00
libF77 Upgrade to the 1997/02/26 version. 1997-04-13 01:16:58 +00:00
libftpio Teach ftpErrString to format UNIX errnos, since at least ftpLogin() 1997-10-02 23:26:03 +00:00
libgnumalloc Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
libI77 Upgrade to the 1997/02/26 version. 1997-04-13 01:16:58 +00:00
libipx -I${DESTDIR}/sys -> -I${.CURDIR}/../../sys. 1997-08-26 14:13:02 +00:00
libkse Bring back nanosleep from the cold. 1997-06-04 13:03:12 +00:00
libkvm -I${DESTDIR}/sys -> -I${.CURDIR}/../../sys. 1997-08-26 14:13:02 +00:00
libm This commit was generated by cvs2svn to compensate for changes in r27180, 1997-07-03 03:28:27 +00:00
libmd If not building a.out, still build a pic version of libmd. This allows 1997-09-05 11:49:43 +00:00
libmytinfo Fix longstanding bug with buffer pointer goes beyoud buffer start 1997-08-13 01:21:36 +00:00
libncurses Remove terminfo manpage we don't have it 1997-10-20 17:53:55 +00:00
libopie Move locks from /etc/opielocks to /var/run/opielocks to keep 1997-10-01 13:02:20 +00:00
libpam/modules Changes for KTH KerberosIV. 1997-09-28 08:57:24 +00:00
libpcap Also install pcap-int.h so things can call pcap_compile on arbitary 1997-10-10 11:55:42 +00:00
libpthread Bring back nanosleep from the cold. 1997-06-04 13:03:12 +00:00
libresolv
librpcsvc Fix conflicts (this one is easy: there's just the Makefile). 1997-05-28 04:53:07 +00:00
libscsi -I${DESTDIR}/sys -> -I${.CURDIR}/../../sys. 1997-08-26 14:13:02 +00:00
libskey If building under elf, have libskey.so depend on libmd and libcrypt. 1997-09-05 11:52:20 +00:00
libss Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
libtcl Update to tcl8.0 release version. 1997-10-01 13:37:27 +00:00
libtelnet Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
libtermcap Restore back issetugid() usage and bump major number 1997-08-31 08:37:28 +00:00
libutil Remove the claim that UUCP locking were not atomic. It is since 1997-10-07 07:24:50 +00:00
libvgl Fix a few typos. 1997-10-22 23:12:27 +00:00
libxpg4 Add mskanji.c 1997-09-25 23:24:35 +00:00
liby Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
libz This commit was generated by cvs2svn to compensate for changes in r29747, 1997-09-23 21:34:42 +00:00
msun Hide the declaration of `struct exception' from C++, since it conflicts 1997-08-31 22:12:19 +00:00
ncurses/ncurses Remove terminfo manpage we don't have it 1997-10-20 17:53:55 +00:00
Makefile Changes for KTH KerberosIV 1997-09-28 09:08:48 +00:00
Makefile.inc