diff --git a/src/io.c b/src/io.c index 0e8ff74d..d3e85bb4 100644 --- a/src/io.c +++ b/src/io.c @@ -649,14 +649,14 @@ nc_write_starttag_and_msg(struct nc_session *session, const void *buf, uint32_t r = sprintf(chunksize, "\n#%" PRIu32 "\n", count); r = nc_write(session, chunksize, r); - if (r == -1) { + if (r < 0) { return -1; } ret += r; } r = nc_write(session, buf, count); - if (r == -1) { + if (r < 0) { return -1; } ret += r; diff --git a/src/server_config.c b/src/server_config.c index 905f6aae..86c20058 100644 --- a/src/server_config.c +++ b/src/server_config.c @@ -2631,6 +2631,7 @@ nc_server_config_endpoint_reference(const struct lyd_node *node, enum nc_operati endpt->referenced_endpt_name = NULL; } else { /* call home */ + assert(ch_endpt); free(ch_endpt->referenced_endpt_name); ch_endpt->referenced_endpt_name = NULL; } @@ -2658,6 +2659,7 @@ nc_server_config_endpoint_reference(const struct lyd_node *node, enum nc_operati endpt->referenced_endpt_name = strdup(lyd_get_value(node)); NC_CHECK_ERRMEM_GOTO(!endpt->referenced_endpt_name, ret = 1, cleanup); } else { + assert(ch_endpt); free(ch_endpt->referenced_endpt_name); ch_endpt->referenced_endpt_name = strdup(lyd_get_value(node)); NC_CHECK_ERRMEM_GOTO(!ch_endpt->referenced_endpt_name, ret = 1, cleanup); diff --git a/src/session_server.c b/src/session_server.c index 485e4063..d8bcff52 100644 --- a/src/session_server.c +++ b/src/session_server.c @@ -4072,7 +4072,9 @@ nc_server_notif_cert_exp_thread(void *arg) if (targ->clb_free_data) { targ->clb_free_data(targ->clb_data); } - nc_server_notif_cert_exp_dates_destroy(exp_dates, exp_date_count); + if (exp_dates) { + nc_server_notif_cert_exp_dates_destroy(exp_dates, exp_date_count); + } free(targ); return NULL; }