Skip to content

Commit

Permalink
Merge PR #82 from 'nodech/fix-ua'
Browse files Browse the repository at this point in the history
  • Loading branch information
nodech committed Dec 18, 2021
2 parents d2bb5f4 + 751bf4c commit 4b02510
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 16 deletions.
52 changes: 38 additions & 14 deletions src/daemon.c
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,8 @@ static void
hsk_daemon_after_close(void *data);
static void
hsk_daemon_signal_shutdown(void *data);
static void
hsk_daemon_uninit(hsk_daemon_t *data);

int
hsk_daemon_init(hsk_daemon_t *daemon, uv_loop_t *loop, hsk_options_t *opt) {
Expand Down Expand Up @@ -501,10 +503,36 @@ hsk_daemon_init(hsk_daemon_t *daemon, uv_loop_t *loop, hsk_options_t *opt) {
return HSK_SUCCESS;

fail:
hsk_daemon_after_close((void *)daemon);
hsk_daemon_uninit(daemon);
return rc;
}

void
hsk_daemon_uninit(hsk_daemon_t *daemon) {
if (!daemon)
return;

if (daemon->signals) {
hsk_signals_free(daemon->signals);
daemon->signals = NULL;
}

if (daemon->rs) {
hsk_rs_free(daemon->rs);
daemon->rs = NULL;
}

if (daemon->pool) {
hsk_pool_free(daemon->pool);
daemon->pool = NULL;
}

if (daemon->ns) {
hsk_ns_free(daemon->ns);
daemon->ns = NULL;
}
}

int
hsk_daemon_open(hsk_daemon_t *daemon, hsk_options_t *opt) {
int rc = HSK_SUCCESS;
Expand Down Expand Up @@ -564,25 +592,21 @@ static void
hsk_daemon_after_close(void *data) {
hsk_daemon_t *daemon = (hsk_daemon_t *)data;

if (daemon->rs) {
hsk_rs_free(daemon->rs);
daemon->rs = NULL;
}

if (daemon->ns) {
hsk_ns_destroy(daemon->ns);
daemon->ns = NULL;
int rc = hsk_ns_close(daemon->ns);

if (rc != HSK_SUCCESS)
fprintf(stderr, "failed to close ns: %s\n", hsk_strerror(rc));
}

if (daemon->pool) {
hsk_pool_destroy(daemon->pool);
daemon->pool = NULL;
}
int rc = hsk_pool_close(daemon->pool);

if (daemon->signals) {
hsk_signals_free(daemon->signals);
daemon->signals = NULL;
if (rc != HSK_SUCCESS)
fprintf(stderr, "failed to close pool: %s\n", hsk_strerror(rc));
}

hsk_daemon_uninit(daemon);
}

static void
Expand Down
4 changes: 2 additions & 2 deletions src/pool.c
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ hsk_pool_init(hsk_pool_t *pool, const uv_loop_t *loop) {
pool->pending_count = 0;
pool->block_time = 0;
pool->getheaders_time = 0;
pool->user_agent = (char *)malloc(255);
pool->user_agent = (char *)malloc(256);
strcpy(pool->user_agent, HSK_USER_AGENT);

return HSK_SUCCESS;
Expand Down Expand Up @@ -302,7 +302,7 @@ hsk_pool_set_agent(hsk_pool_t *pool, const char *user_agent) {
if (!user_agent)
return true;

size_t len = strlen(pool->user_agent);
size_t len = strlen(pool->user_agent);
len += strlen(user_agent);

// Agent size in p2p version message is 1 byte
Expand Down

0 comments on commit 4b02510

Please sign in to comment.