shmsize += sizeof(struct lib_ring_buffer_shmp);
shmobj = shm_object_table_append(handle->table, shmsize);
+ if (!shmobj)
+ goto error_append;
set_shmp(handle->chan, zalloc_shm(shmobj, sizeof(struct channel)));
chan = shmp(handle, handle->chan);
if (!chan)
* sessiond/consumer are keeping a reference on the shm file
* descriptor directly. No need to refcount.
*/
- channel_release(chan, handle);
priv = chan->backend.priv;
+ channel_release(chan, handle);
return priv;
}