struct client_ring *r;
size_t meta_len;
- if (cl->rx_fd < 0)
+ if (cl->rx_fd < 0) {
+ DC(2, cl, "missing file descriptor");
return NULL;
+ }
meta_len = blob_pad_len(&cl->rx_buf.data);
r = calloc_a(sizeof(*r), &meta, meta_len);
blobmsg_parse_attr(policy, __RING_ATTR_MAX, tb, meta);
if (!tb[RING_ATTR_NAME]) {
+ DC(2, cl, "missing ring name");
close(cl->rx_fd);
free(r);
return NULL;
r->cl = cl;
r->id = msg->id;
r->fd = cl->rx_fd;
+ cl->rx_fd = -1;
r->ring_size = msg->ring_size;
r->data_size = msg->data_size;
list_add_tail(&r->list, &cl->bufs);