From 44c3cbbdceaba4374fc783e218d4f0bfd40efe63 Mon Sep 17 00:00:00 2001 From: sparkuss Date: Sun, 5 Aug 2018 23:40:17 +0200 Subject: [PATCH] Avoid unnecessary coind objects creation. Solution against stratum memory leak for dedicated (port per coin) stratum usage, when used 'include' option in stratum config. --- stratum/db.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/stratum/db.cpp b/stratum/db.cpp index f8c513cd8..295947754 100644 --- a/stratum/db.cpp +++ b/stratum/db.cpp @@ -207,6 +207,8 @@ void db_update_coinds(YAAMP_DB *db) YAAMP_COIND *coind = (YAAMP_COIND *)object_find(&g_list_coind, atoi(row[0])); if(!coind) { + if (!strlen(g_stratum_coin_include) || (strlen(g_stratum_coin_include) && strstr(g_stratum_coin_include, row[20]))) + { coind = new YAAMP_COIND; memset(coind, 0, sizeof(YAAMP_COIND)); @@ -214,6 +216,9 @@ void db_update_coinds(YAAMP_DB *db) coind->newblock = true; coind->id = atoi(row[0]); coind->aux.coind = coind; + } + else + continue; } else coind->newcoind = false;