aboutsummaryrefslogtreecommitdiff
path: root/src/device/log.cpp
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2018-06-23 15:26:55 +0100
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2018-06-23 15:28:48 +0100
commit41e9cab4e1c9d6df26db1cecd30fe6aafacc80a7 (patch)
tree2b6fda50d0f007b4c55d6a051be0194bb8100a39 /src/device/log.cpp
parentdevice_ledger: fix potential buffer overflow from bad size calc (diff)
downloadmonero-41e9cab4e1c9d6df26db1cecd30fe6aafacc80a7.tar.xz
device: misc cleanup
use snprintf "just in case" where appropriate consistently use unsigned for temp values pass std::string by const ref rather than by value add length check (which can't happen in practice) for memcpy
Diffstat (limited to 'src/device/log.cpp')
-rw-r--r--src/device/log.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/device/log.cpp b/src/device/log.cpp
index cbbcfc953..1707524fb 100644
--- a/src/device/log.cpp
+++ b/src/device/log.cpp
@@ -45,13 +45,13 @@ namespace hw {
}
}
- void log_hexbuffer(std::string msg, const char* buff, size_t len) {
+ void log_hexbuffer(const std::string &msg, const char* buff, size_t len) {
char logstr[1025];
buffer_to_str(logstr, sizeof(logstr), buff, len);
MDEBUG(msg<< ": " << logstr);
}
- void log_message(std::string msg, std::string info ) {
+ void log_message(const std::string &msg, const std::string &info ) {
MDEBUG(msg << ": " << info);
}
@@ -122,16 +122,18 @@ namespace hw {
rct::keyV decrypt(const rct::keyV &keys) {
rct::keyV x ;
+ x.reserve(keys.size());
for (unsigned int j = 0; j<keys.size(); j++) {
x.push_back(decrypt(keys[j]));
}
return x;
}
- static void check(std::string msg, std::string info, const char *h, const char *d, int len, bool crypted) {
+ static void check(const std::string &msg, const std::string &info, const char *h, const char *d, size_t len, bool crypted) {
char dd[32];
char logstr[128];
+ CHECK_AND_ASSERT_THROW_MES(len <= sizeof(dd), "invalid len");
memmove(dd,d,len);
if (crypted) {
CHECK_AND_ASSERT_THROW_MES(len<=32, "encrypted data greater than 32");
@@ -149,11 +151,11 @@ namespace hw {
}
}
- void check32(std::string msg, std::string info, const char *h, const char *d, bool crypted) {
+ void check32(const std::string &msg, const std::string &info, const char *h, const char *d, bool crypted) {
check(msg, info, h, d, 32, crypted);
}
- void check8(std::string msg, std::string info, const char *h, const char *d, bool crypted) {
+ void check8(const std::string &msg, const std::string &info, const char *h, const char *d, bool crypted) {
check(msg, info, h, d, 8, crypted);
}
#endif