Found by valgrinds memory checker.
if (pdd && pdd->fd > 0)
close(pdd->fd);
+ btr_pool_free(pdd->btrp);
free(rn->private_data);
rn->private_data = NULL;
}
static void dccp_recv_free_config(void *conf)
{
dccp_recv_cmdline_parser_free(conf);
+ free(conf);
}
/**
FOR_EACH_FECDEC_GROUP(fg, pfd)
clear_group(fg);
fec_free(pfd->fec);
+ btr_pool_free(pfd->btrp);
free(fn->private_data);
fn->private_data = NULL;
}
static void http_recv_free_config(void *conf)
{
http_recv_cmdline_parser_free(conf);
+ free(conf);
}
/**
if (iqs < conf->size_arg)
return;
btr_splice_out_node(btrn);
- prebuffer_close(fn);
t->error = -E_PREBUFFER_SUCCESS;
}
r->close(&rn);
btr_free_node(rn.btrn);
btr_free_node(sot.btrn);
- free(rn.conf);
+ r->free_config(rn.conf);
if (ret < 0)
PARA_ERROR_LOG("%s\n", para_strerror(-ret));
return ret < 0? EXIT_FAILURE : EXIT_SUCCESS;
}
argv[0] = make_message("%s_recv", r->name);
conf = r->parse_config(argc, argv);
- for (i = 1; i < argc; i++)
+ for (i = 0; i < argc; i++)
free(argv[i]);
free(argv);
return conf;
static void udp_recv_free_config(void *conf)
{
udp_recv_cmdline_parser_free(conf);
+ free(conf);
}
/**