mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-10 10:52:31 -05:00
Remove strtol in torcontrol
This commit is contained in:
parent
fe03f7a37f
commit
fa186eb7f4
2 changed files with 11 additions and 10 deletions
|
@ -22,19 +22,17 @@
|
||||||
#include <deque>
|
#include <deque>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include <set>
|
#include <set>
|
||||||
#include <stdlib.h>
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include <boost/signals2/signal.hpp>
|
|
||||||
#include <boost/algorithm/string/split.hpp>
|
|
||||||
#include <boost/algorithm/string/classification.hpp>
|
#include <boost/algorithm/string/classification.hpp>
|
||||||
#include <boost/algorithm/string/replace.hpp>
|
#include <boost/algorithm/string/replace.hpp>
|
||||||
|
#include <boost/algorithm/string/split.hpp>
|
||||||
|
|
||||||
#include <event2/bufferevent.h>
|
|
||||||
#include <event2/buffer.h>
|
#include <event2/buffer.h>
|
||||||
#include <event2/util.h>
|
#include <event2/bufferevent.h>
|
||||||
#include <event2/event.h>
|
#include <event2/event.h>
|
||||||
#include <event2/thread.h>
|
#include <event2/thread.h>
|
||||||
|
#include <event2/util.h>
|
||||||
|
|
||||||
/** Default control port */
|
/** Default control port */
|
||||||
const std::string DEFAULT_TOR_CONTROL = "127.0.0.1:9051";
|
const std::string DEFAULT_TOR_CONTROL = "127.0.0.1:9051";
|
||||||
|
@ -277,9 +275,15 @@ std::map<std::string,std::string> ParseTorReplyMapping(const std::string &s)
|
||||||
if (j == 3 && value[i] > '3') {
|
if (j == 3 && value[i] > '3') {
|
||||||
j--;
|
j--;
|
||||||
}
|
}
|
||||||
escaped_value.push_back(strtol(value.substr(i, j).c_str(), nullptr, 8));
|
const auto end{i + j};
|
||||||
|
uint8_t val{0};
|
||||||
|
while (i < end) {
|
||||||
|
val *= 8;
|
||||||
|
val += value[i++] - '0';
|
||||||
|
}
|
||||||
|
escaped_value.push_back(char(val));
|
||||||
// Account for automatic incrementing at loop end
|
// Account for automatic incrementing at loop end
|
||||||
i += j - 1;
|
--i;
|
||||||
} else {
|
} else {
|
||||||
escaped_value.push_back(value[i]);
|
escaped_value.push_back(value[i]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,15 +37,12 @@ export LC_ALL=C
|
||||||
# See https://doc.qt.io/qt-5/qcoreapplication.html#locale-settings and
|
# See https://doc.qt.io/qt-5/qcoreapplication.html#locale-settings and
|
||||||
# https://stackoverflow.com/a/34878283 for more details.
|
# https://stackoverflow.com/a/34878283 for more details.
|
||||||
|
|
||||||
# TODO: Reduce KNOWN_VIOLATIONS by replacing uses of locale dependent stoul/strtol with locale
|
|
||||||
# independent ToIntegral<T>(...) or the ParseInt*() functions.
|
|
||||||
# TODO: Reduce KNOWN_VIOLATIONS by replacing uses of locale dependent snprintf with strprintf.
|
# TODO: Reduce KNOWN_VIOLATIONS by replacing uses of locale dependent snprintf with strprintf.
|
||||||
KNOWN_VIOLATIONS=(
|
KNOWN_VIOLATIONS=(
|
||||||
"src/dbwrapper.cpp:.*vsnprintf"
|
"src/dbwrapper.cpp:.*vsnprintf"
|
||||||
"src/test/dbwrapper_tests.cpp:.*snprintf"
|
"src/test/dbwrapper_tests.cpp:.*snprintf"
|
||||||
"src/test/fuzz/locale.cpp"
|
"src/test/fuzz/locale.cpp"
|
||||||
"src/test/fuzz/string.cpp"
|
"src/test/fuzz/string.cpp"
|
||||||
"src/torcontrol.cpp:.*strtol"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
REGEXP_IGNORE_EXTERNAL_DEPENDENCIES="^src/(crypto/ctaes/|leveldb/|secp256k1/|minisketch/|tinyformat.h|univalue/)"
|
REGEXP_IGNORE_EXTERNAL_DEPENDENCIES="^src/(crypto/ctaes/|leveldb/|secp256k1/|minisketch/|tinyformat.h|univalue/)"
|
||||||
|
|
Loading…
Add table
Reference in a new issue