Patch ID	: P94122204
Summary		: close mbuf leak on failed socket(2) call
Status		: Mandatory
Date		: 12/22/94
Release		: OS 4.1C
Architectures	: Series5 Series6 S4000
Affected bugs	:
	2729

Changed files	:
	sys/os/uipc_syscalls.c (delta 1.3)

Problem Description:

A long-standing bug in the socket(2) system call code has allowed
mbufs to be lost when the system call fails due to the file table
being full.  This was due to the socket data structures being allocated
but not released if the subsequent file table slot allocation failed.
This patch releases all resources acquired since the start of the
socket(2) system call if the allocation of any structure fails during
that system call.

The symptoms of this bug are eventual mbuf exhaustion which never
corrects itself.  The kernel messages about being out of mbufs will
be preceded by or interspersed with complaints about "file: table is full".
