*/
static void reader_free(struct reader* reader)
{
+ if (!reader)
+ return;
+
if (reader->fd_entity.fd >= 0)
close(reader->fd_entity.fd);
if (reader->read_fd >= 0)
snprintf(cmdline, sizeof(cmdline), "%s", cmdl);
reader = (struct reader *)calloc(1, sizeof(struct reader));
- if (!reader)
- return -ENOMEM;
+ if (!reader) {
+ retval = -ENOMEM;
+ goto cleanup;
+ }
tok = strtok_r(cmdline, DELIMITER, &tok_sv);
if (!tok || strcmp(tok, "dlogutil")) {
optopt = 0;
if (retval) {
+ if (wr)
+ send_dlog_reply(wr->fd_entity.fd, DLOG_REQ_HANDLE_LOGUTIL, DLOG_REQ_RESULT_ERR, NULL, 0);
*rd = NULL;
reader_free(reader);
} else