From d35a601dcc4e4a799bf015b19ae6b7496a3a059e Mon Sep 17 00:00:00 2001 From: Duke Date: Fri, 29 Dec 2023 17:59:22 -0500 Subject: [PATCH] verify that taddr privkeys are base58 --- src/settings.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/settings.cpp b/src/settings.cpp index a862702..2a154cf 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -441,8 +441,11 @@ bool Settings::isValidTransparentPrivateKey(QString pk) { // TODO: can a taddr privkey start with anything else? if (pk.startsWith("U") || pk.startsWith("5") || pk.startsWith("L") || pk.startsWith("K") || pk.startsWith("7")) { - // TODO: verify only contains base58 characters - return true; + // verify only contains base58 characters + QRegExp exp("^[U5LK7][123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{51,52}$", Qt::CaseSensitive); + bool valid = exp.exactMatch(pk); + if(!valid) { DEBUG("privkey invalid, not base58"); } + return valid; } else { DEBUG("privkey invalid, wrong prefix"); return false;