diff --git a/src/net/Job.cpp b/src/net/Job.cpp index 01d72e8f..133f95f4 100644 --- a/src/net/Job.cpp +++ b/src/net/Job.cpp @@ -61,8 +61,7 @@ Job::Job(int poolId, bool nicehash) : m_threadId(-1), m_size(0), m_diff(0), - m_target(0), - m_blob() + m_target(0) { } diff --git a/src/net/Job.h b/src/net/Job.h index b7235a86..dfb14427 100644 --- a/src/net/Job.h +++ b/src/net/Job.h @@ -70,6 +70,7 @@ public: bool operator!=(const Job &other) const; private: + alignas(16) uint8_t m_blob[84]; // Max blob size is 84 (75 fixed + 9 variable), aligned to 96. https://github.com/xmrig/xmrig/issues/1 Thanks fireice-uk. bool m_nicehash; int m_poolId; @@ -79,8 +80,6 @@ private: uint64_t m_diff; uint64_t m_target; - alignas(16) uint8_t m_blob[84]; // Max blob size is 84 (75 fixed + 9 variable), aligned to 96. https://github.com/xmrig/xmrig/issues/1 Thanks fireice-uk. - # ifdef XMRIG_PROXY_PROJECT VAR_ALIGN(16, char m_rawBlob[169]); VAR_ALIGN(16, char m_rawTarget[17]); diff --git a/src/net/JobId.h b/src/net/JobId.h index abcbbd27..06189779 100644 --- a/src/net/JobId.h +++ b/src/net/JobId.h @@ -31,15 +31,15 @@ class JobId { public: - inline JobId() : - m_data() + inline JobId() { + memset(m_data, 0, sizeof(m_data)); } - inline JobId(const char *jobId, size_t sizeFix = 0) + inline JobId(const char *id, size_t sizeFix = 0) { - setId(jobId, sizeFix); + setId(id, sizeFix); } @@ -55,27 +55,19 @@ public: } - JobId &operator=(const JobId &other) - { - memcpy(m_data, other.m_data, sizeof(m_data)); - - return *this; - } - - - inline bool setId(const char *jobId, size_t sizeFix = 0) + inline bool setId(const char *id, size_t sizeFix = 0) { memset(m_data, 0, sizeof(m_data)); - if (!jobId) { + if (!id) { return false; } - const size_t size = strlen(jobId); + const size_t size = strlen(id); if (size >= sizeof(m_data)) { return false; } - memcpy(m_data, jobId, size - sizeFix); + memcpy(m_data, id, size - sizeFix); return true; }