diff --git a/src/net/tcp/oncrpc.c b/src/net/tcp/oncrpc.c index 6469867e..cb66aeb8 100644 --- a/src/net/tcp/oncrpc.c +++ b/src/net/tcp/oncrpc.c @@ -128,7 +128,6 @@ void oncrpc_init_session ( struct oncrpc_session *session, int oncrpc_call ( struct interface *intf, struct oncrpc_session *session, uint32_t proc_name, const struct oncrpc_field fields[] ) { - int rc; size_t frame_size; struct io_buffer *io_buf; @@ -161,11 +160,7 @@ int oncrpc_call ( struct interface *intf, struct oncrpc_session *session, oncrpc_iob_add_fields ( io_buf, header ); oncrpc_iob_add_fields ( io_buf, fields ); - rc = xfer_deliver_iob ( intf, io_buf ); - if ( rc != 0 ) - free_iob ( io_buf ); - - return rc; + return xfer_deliver_iob ( intf, iob_disown ( io_buf ) ); } size_t oncrpc_compute_size ( const struct oncrpc_field fields[] ) {