always zero initialize

This commit is contained in:
Jethro Grassie 2020-09-20 16:14:21 -04:00
parent 91acf3da77
commit e4b6d1ffa2
No known key found for this signature in database
GPG key ID: DE8ED755616565BB

View file

@ -457,8 +457,8 @@ database_resize(void)
const double threshold = 0.9; const double threshold = 0.9;
MDB_envinfo ei; MDB_envinfo ei;
MDB_stat st; MDB_stat st;
int rc; int rc = 0;
char *err; char *err = NULL;
mdb_env_info(env, &ei); mdb_env_info(env, &ei);
mdb_env_stat(env, &st); mdb_env_stat(env, &st);
@ -510,9 +510,9 @@ unlock:
static int static int
database_init(const char* data_dir) database_init(const char* data_dir)
{ {
int rc; int rc = 0;
char *err; char *err = NULL;
MDB_txn *txn; MDB_txn *txn = NULL;
rc = mdb_env_create(&env); rc = mdb_env_create(&env);
mdb_env_set_maxdbs(env, (MDB_dbi) DB_COUNT_MAX); mdb_env_set_maxdbs(env, (MDB_dbi) DB_COUNT_MAX);
@ -603,10 +603,10 @@ database_close(void)
static int static int
store_share(uint64_t height, share_t *share) store_share(uint64_t height, share_t *share)
{ {
int rc; int rc = 0;
char *err; char *err = NULL;
MDB_txn *txn; MDB_txn *txn = NULL;
MDB_cursor *cursor; MDB_cursor *cursor = NULL;
if ((rc = mdb_txn_begin(env, NULL, 0, &txn)) != 0) if ((rc = mdb_txn_begin(env, NULL, 0, &txn)) != 0)
{ {
err = mdb_strerror(rc); err = mdb_strerror(rc);
@ -639,10 +639,10 @@ store_share(uint64_t height, share_t *share)
static int static int
store_block(uint64_t height, block_t *block) store_block(uint64_t height, block_t *block)
{ {
int rc; int rc = 0;
char *err; char *err = NULL;
MDB_txn *txn; MDB_txn *txn = NULL;
MDB_cursor *cursor; MDB_cursor *cursor = NULL;
if ((rc = mdb_txn_begin(env, NULL, 0, &txn)) != 0) if ((rc = mdb_txn_begin(env, NULL, 0, &txn)) != 0)
{ {
err = mdb_strerror(rc); err = mdb_strerror(rc);
@ -688,8 +688,8 @@ bail:
uint64_t uint64_t
account_balance(const char *address) account_balance(const char *address)
{ {
int rc; int rc = 0;
char *err; char *err = NULL;
MDB_txn *txn = NULL; MDB_txn *txn = NULL;
MDB_cursor *cursor = NULL; MDB_cursor *cursor = NULL;
uint64_t balance = 0; uint64_t balance = 0;
@ -741,10 +741,10 @@ static int
balance_add(const char *address, uint64_t amount, MDB_txn *parent) balance_add(const char *address, uint64_t amount, MDB_txn *parent)
{ {
log_trace("Adding %"PRIu64" to %s's balance", amount, address); log_trace("Adding %"PRIu64" to %s's balance", amount, address);
int rc; int rc = 0;
char *err; char *err = NULL;
MDB_txn *txn; MDB_txn *txn = NULL;
MDB_cursor *cursor; MDB_cursor *cursor = NULL;
if ((rc = mdb_txn_begin(env, parent, 0, &txn)) != 0) if ((rc = mdb_txn_begin(env, parent, 0, &txn)) != 0)
{ {
err = mdb_strerror(rc); err = mdb_strerror(rc);
@ -805,10 +805,10 @@ payout_block(block_t *block, MDB_txn *parent)
PPLNS PPLNS
*/ */
log_info("Payout on block at height: %"PRIu64, block->height); log_info("Payout on block at height: %"PRIu64, block->height);
int rc; int rc = 0;
char *err; char *err = NULL;
MDB_txn *txn; MDB_txn *txn = NULL;
MDB_cursor *cursor; MDB_cursor *cursor = NULL;
uint64_t height = block->height; uint64_t height = block->height;
uint64_t total_paid = 0; uint64_t total_paid = 0;
if ((rc = mdb_txn_begin(env, parent, 0, &txn)) != 0) if ((rc = mdb_txn_begin(env, parent, 0, &txn)) != 0)
@ -893,10 +893,10 @@ process_blocks(block_t *blocks, size_t count)
If both not orphaned and unlocked, payout, set unlocked. If both not orphaned and unlocked, payout, set unlocked.
If block heights differ / orphaned, set orphaned. If block heights differ / orphaned, set orphaned.
*/ */
int rc; int rc = 0;
char *err; char *err = NULL;
MDB_txn *txn; MDB_txn *txn = NULL;
MDB_cursor *cursor; MDB_cursor *cursor = NULL;
if ((rc = mdb_txn_begin(env, NULL, 0, &txn)) != 0) if ((rc = mdb_txn_begin(env, NULL, 0, &txn)) != 0)
{ {
err = mdb_strerror(rc); err = mdb_strerror(rc);
@ -1352,7 +1352,7 @@ miner_send_job(client_t *client, bool response)
memcpy(p, &instance_id, sizeof(instance_id)); memcpy(p, &instance_id, sizeof(instance_id));
/* Get hashing blob */ /* Get hashing blob */
size_t hashing_blob_size; size_t hashing_blob_size = 0;
unsigned char *hashing_blob = NULL; unsigned char *hashing_blob = NULL;
get_hashing_blob(block, bin_size, &hashing_blob, &hashing_blob_size); get_hashing_blob(block, bin_size, &hashing_blob, &hashing_blob_size);
@ -1744,10 +1744,10 @@ rpc_on_block_template(const char* data, rpc_callback_t *callback)
static int static int
startup_scan_round_shares() startup_scan_round_shares()
{ {
int rc; int rc = 0;
char *err; char *err = NULL;
MDB_txn *txn; MDB_txn *txn = NULL;
MDB_cursor *cursor; MDB_cursor *cursor = NULL;
if (*config.upstream_host) if (*config.upstream_host)
return 0; return 0;
@ -1798,10 +1798,10 @@ startup_payout(uint64_t height)
Loop stored blocks < height - 60 Loop stored blocks < height - 60
If block locked & not orphaned, payout If block locked & not orphaned, payout
*/ */
int rc; int rc = 0;
char *err; char *err = NULL;
MDB_txn *txn; MDB_txn *txn = NULL;
MDB_cursor *cursor; MDB_cursor *cursor = NULL;
if ((rc = mdb_txn_begin(env, NULL, MDB_RDONLY, &txn)) != 0) if ((rc = mdb_txn_begin(env, NULL, MDB_RDONLY, &txn)) != 0)
{ {
err = mdb_strerror(rc); err = mdb_strerror(rc);
@ -2014,10 +2014,10 @@ rpc_on_wallet_transferred(const char* data, rpc_callback_t *callback)
else else
log_info("Payout transfer successful"); log_info("Payout transfer successful");
int rc; int rc = 0;
char *err; char *err = NULL;
MDB_txn *txn; MDB_txn *txn = NULL;
MDB_cursor *cursor; MDB_cursor *cursor = NULL;
/* First, updated balance(s) */ /* First, updated balance(s) */
if ((rc = mdb_txn_begin(env, NULL, 0, &txn)) != 0) if ((rc = mdb_txn_begin(env, NULL, 0, &txn)) != 0)
@ -2132,10 +2132,10 @@ send_payments(void)
if (*config.upstream_host || config.disable_payouts) if (*config.upstream_host || config.disable_payouts)
return 0; return 0;
uint64_t threshold = 1000000000000 * config.payment_threshold; uint64_t threshold = 1000000000000 * config.payment_threshold;
int rc; int rc = 0;
char *err; char *err = NULL;
MDB_txn *txn; MDB_txn *txn = NULL;
MDB_cursor *cursor; MDB_cursor *cursor = NULL;
if ((rc = mdb_txn_begin(env, NULL, MDB_RDONLY, &txn)) != 0) if ((rc = mdb_txn_begin(env, NULL, MDB_RDONLY, &txn)) != 0)
{ {
err = mdb_strerror(rc); err = mdb_strerror(rc);
@ -2242,9 +2242,9 @@ fetch_last_block_header(void)
static int static int
store_last_height_time() store_last_height_time()
{ {
int rc; int rc = 0;
char *err; char *err = NULL;
MDB_txn *txn; MDB_txn *txn = NULL;
MDB_val k, v; MDB_val k, v;
if ((rc = mdb_txn_begin(env, NULL, 0, &txn))) if ((rc = mdb_txn_begin(env, NULL, 0, &txn)))
{ {
@ -2411,10 +2411,10 @@ upstream_send_backlog()
/* /*
Send any unsent shares and blocks upstream. Send any unsent shares and blocks upstream.
*/ */
int rc; int rc = 0;
char *err; char *err = NULL;
MDB_txn *txn; MDB_txn *txn = NULL;
MDB_cursor *curshr, *curblk; MDB_cursor *curshr = NULL, *curblk = NULL;
if (!upstream_last_height || !upstream_last_time || !upstream_event) if (!upstream_last_height || !upstream_last_time || !upstream_event)
return; return;
log_info("Sending upstream shares/blocks since: %"PRIu64", %"PRIu64, log_info("Sending upstream shares/blocks since: %"PRIu64", %"PRIu64,
@ -2523,7 +2523,7 @@ trusted_on_client_share(client_t *client)
*/ */
struct evbuffer *input = bufferevent_get_input(client->bev); struct evbuffer *input = bufferevent_get_input(client->bev);
share_t s; share_t s;
int rc; int rc = 0;
evbuffer_remove(input, (void*)&s, sizeof(share_t)); evbuffer_remove(input, (void*)&s, sizeof(share_t));
log_debug("Received share from downstream with difficulty: %"PRIu64, log_debug("Received share from downstream with difficulty: %"PRIu64,
s.difficulty); s.difficulty);
@ -2545,7 +2545,7 @@ trusted_on_client_block(client_t *client)
{ {
struct evbuffer *input = bufferevent_get_input(client->bev); struct evbuffer *input = bufferevent_get_input(client->bev);
block_t b; block_t b;
int rc; int rc = 0;
evbuffer_remove(input, (void*)&b, sizeof(block_t)); evbuffer_remove(input, (void*)&b, sizeof(block_t));
pool_stats.pool_blocks_found++; pool_stats.pool_blocks_found++;
pool_stats.last_block_found = b.timestamp; pool_stats.last_block_found = b.timestamp;
@ -2576,10 +2576,10 @@ upstream_on_stats(struct bufferevent *bev)
static int static int
upstream_on_balance(struct bufferevent *bev) upstream_on_balance(struct bufferevent *bev)
{ {
int rc; int rc = 0;
char *err; char *err = NULL;
MDB_txn *txn; MDB_txn *txn = NULL;
uint64_t balance; uint64_t balance = 0;
char address[ADDRESS_MAX]; char address[ADDRESS_MAX];
struct evbuffer *input = bufferevent_get_input(bev); struct evbuffer *input = bufferevent_get_input(bev);
evbuffer_remove(input, &balance, sizeof(uint64_t)); evbuffer_remove(input, &balance, sizeof(uint64_t));
@ -2609,8 +2609,8 @@ upstream_on_read(struct bufferevent *bev, void *ctx)
{ {
struct evbuffer *input = bufferevent_get_input(bev); struct evbuffer *input = bufferevent_get_input(bev);
struct evbuffer_ptr tag; struct evbuffer_ptr tag;
unsigned char tnt[9]; unsigned char tnt[9] = {0};
size_t len; size_t len = 0;
input = bufferevent_get_input(bev); input = bufferevent_get_input(bev);
while ((len = evbuffer_get_length(input)) >= 9) while ((len = evbuffer_get_length(input)) >= 9)
@ -2689,8 +2689,8 @@ upstream_on_event(struct bufferevent *bev, short error, void *ctx)
static void static void
upstream_connect() upstream_connect()
{ {
struct addrinfo *info; struct addrinfo *info = NULL;
int rc; int rc = 0;
char port[6] = {0}; char port[6] = {0};
sprintf(port, "%d", config.upstream_port); sprintf(port, "%d", config.upstream_port);
@ -2759,7 +2759,8 @@ static const client_t *
client_add(int fd, struct sockaddr_storage *ss, client_add(int fd, struct sockaddr_storage *ss,
struct bufferevent *bev, bool downstream) struct bufferevent *bev, bool downstream)
{ {
client_t *c; client_t *c = NULL;
int rc = 0;
bool resize = gbag_used(bag_clients) == gbag_max(bag_clients); bool resize = gbag_used(bag_clients) == gbag_max(bag_clients);
if (resize) if (resize)
{ {
@ -2777,7 +2778,6 @@ client_add(int fd, struct sockaddr_storage *ss,
c->bev = bev; c->bev = bev;
c->connected_since = time(NULL); c->connected_since = time(NULL);
c->downstream = downstream; c->downstream = downstream;
int rc = 0;
if ((rc = getnameinfo((struct sockaddr*)ss, sizeof(*ss), if ((rc = getnameinfo((struct sockaddr*)ss, sizeof(*ss),
c->host, MAX_HOST, NULL, 0, NI_NUMERICHOST))) c->host, MAX_HOST, NULL, 0, NI_NUMERICHOST)))
{ {
@ -2880,7 +2880,7 @@ miner_on_login(json_object *message, client_t *client)
} }
const char *address = json_object_get_string(login); const char *address = json_object_get_string(login);
uint8_t nt; uint8_t nt = 0;
if (parse_address(address, NULL, &nt, NULL)) if (parse_address(address, NULL, &nt, NULL))
{ {
send_validation_error(client, send_validation_error(client,
@ -3178,7 +3178,7 @@ miner_on_submit(json_object *message, client_t *client)
memcpy(p, &result_nonce, sizeof(result_nonce)); memcpy(p, &result_nonce, sizeof(result_nonce));
/* Get hashing blob */ /* Get hashing blob */
size_t hashing_blob_size; size_t hashing_blob_size = 0;
unsigned char *hashing_blob = NULL; unsigned char *hashing_blob = NULL;
if (get_hashing_blob(block, bin_size, if (get_hashing_blob(block, bin_size,
&hashing_blob, &hashing_blob_size) != 0) &hashing_blob, &hashing_blob_size) != 0)
@ -3311,7 +3311,7 @@ post_hash:
{ {
if (client->bad_shares) if (client->bad_shares)
client->bad_shares--; client->bad_shares--;
share_t share; share_t share = {0,0,{0},0};
share.height = bt->height; share.height = bt->height;
share.difficulty = job->target; share.difficulty = job->target;
strncpy(share.address, client->address, sizeof(share.address)-1); strncpy(share.address, client->address, sizeof(share.address)-1);
@ -3344,8 +3344,8 @@ miner_on_read(struct bufferevent *bev, void *ctx)
const char *too_long = "Removing client. Message too long."; const char *too_long = "Removing client. Message too long.";
const char *invalid_json = "Removing client. Invalid JSON."; const char *invalid_json = "Removing client. Invalid JSON.";
struct evbuffer *input, *output; struct evbuffer *input, *output;
char *line; char *line = NULL;
size_t n; size_t n = 0;
client_t *client = NULL; client_t *client = NULL;
pthread_mutex_lock(&mutex_clients); pthread_mutex_lock(&mutex_clients);
@ -3457,11 +3457,11 @@ unlock:
static void static void
trusted_on_read(struct bufferevent *bev, void *ctx) trusted_on_read(struct bufferevent *bev, void *ctx)
{ {
struct evbuffer *input; struct evbuffer *input = NULL;
client_t *client = NULL; client_t *client = NULL;
struct evbuffer_ptr tag; struct evbuffer_ptr tag;
unsigned char tnt[9]; unsigned char tnt[9] = {0};
size_t len; size_t len = 0;
pthread_mutex_lock(&mutex_clients); pthread_mutex_lock(&mutex_clients);
clients_reading++; clients_reading++;
@ -3579,7 +3579,7 @@ listener_on_accept(evutil_socket_t listener, short event, void *arg)
{ {
char *s = config.trusted_allowed[0]; char *s = config.trusted_allowed[0];
char *e = s + (MAX_DOWNSTREAM * MAX_HOST); char *e = s + (MAX_DOWNSTREAM * MAX_HOST);
char host[MAX_HOST]; char host[MAX_HOST] = {0};
bool match = false; bool match = false;
int rc = 0; int rc = 0;
if ((rc = getnameinfo((struct sockaddr*)&ss, slen, if ((rc = getnameinfo((struct sockaddr*)&ss, slen,
@ -4025,8 +4025,8 @@ static void *
trusted_run(void *ctx) trusted_run(void *ctx)
{ {
evutil_socket_t listener; evutil_socket_t listener;
struct addrinfo *info; struct addrinfo *info = NULL;
int rc; int rc = 0;
char port[6] = {0}; char port[6] = {0};
trusted_base = event_base_new(); trusted_base = event_base_new();
@ -4091,8 +4091,8 @@ static void
run(void) run(void)
{ {
evutil_socket_t listener; evutil_socket_t listener;
struct addrinfo *info; struct addrinfo *info = NULL;
int rc; int rc = 0;
char port[6] = {0}; char port[6] = {0};
pool_base = event_base_new(); pool_base = event_base_new();
@ -4434,6 +4434,7 @@ int main(int argc, char **argv)
clients_init(); clients_init();
wui_context_t uic; wui_context_t uic;
memset(&uic, 0, sizeof(wui_context_t));
uic.port = config.webui_port; uic.port = config.webui_port;
uic.pool_stats = &pool_stats; uic.pool_stats = &pool_stats;
uic.pool_fee = config.pool_fee; uic.pool_fee = config.pool_fee;