freebsd-skq/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
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
libcom_err
libcompat
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
libedit Sort cross refereces in section SEE ALSO. 1997-09-29 19:11:55 +00:00
libf2c
libF77
libftpio Teach ftpErrString to format UNIX errnos, since at least ftpLogin() 1997-10-02 23:26:03 +00:00
libgnumalloc
libI77
libipx -I${DESTDIR}/sys -> -I${.CURDIR}/../../sys. 1997-08-26 14:13:02 +00:00
libkse
libkvm -I${DESTDIR}/sys -> -I${.CURDIR}/../../sys. 1997-08-26 14:13:02 +00:00
libm
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
libresolv
librpcsvc
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
libtcl Update to tcl8.0 release version. 1997-10-01 13:37:27 +00:00
libtelnet
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
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