The main function of para_client first calls client_parse_config()
to decide whether to start an interactive session, run in completion
mode or execute the given command. In the third case case we call
client_open() which calls client_parse_config() again, thereby
leaking the client_task structure which was returned by the first
call to client_parse_config().
Fix this leak by calling client_connect() instead of client_open().
*/
sit.btrn = btr_new_node(&(struct btr_node_description)
EMBRACE(.name = "stdin"));
- ret = client_open(argc, argv, &ct, &client_loglevel, sit.btrn, NULL, &sched);
+ ret = client_connect(ct, &sched, sit.btrn, NULL);
if (ret < 0)
goto out;
sot.btrn = btr_new_node(&(struct btr_node_description)