diff options
Diffstat (limited to 'rpc/rpc-transport/socket/src/socket.c')
| -rw-r--r-- | rpc/rpc-transport/socket/src/socket.c | 9 | 
1 files changed, 4 insertions, 5 deletions
diff --git a/rpc/rpc-transport/socket/src/socket.c b/rpc/rpc-transport/socket/src/socket.c index e5272f0d3d1..c121210c478 100644 --- a/rpc/rpc-transport/socket/src/socket.c +++ b/rpc/rpc-transport/socket/src/socket.c @@ -1531,11 +1531,6 @@ __socket_proto_state_machine (rpc_transport_t *this,                                  iobref = priv->incoming.iobref; -                                iobref_add (iobref, -                                            priv->incoming.iobuf); -                                iobuf_unref (priv->incoming.iobuf); -                                priv->incoming.iobuf = NULL;  -                                  count++;                                  if (priv->incoming.payload_vector.iov_base @@ -1548,8 +1543,12 @@ __socket_proto_state_machine (rpc_transport_t *this,                                  *pollin = rpc_transport_pollin_alloc (this,                                                                        vector,                                                                        count, +                                                                      priv->incoming.iobuf,                                                                        iobref,                                                                        priv->incoming.request_info); +                                iobuf_unref (priv->incoming.iobuf); +                                priv->incoming.iobuf = NULL; +                                  if (*pollin == NULL) {                                          ret = -1;                                          goto out;  | 
