fix valgrind issues reported by Chris Morgan

pull/2/head
weidai 2007-08-13 23:55:05 +00:00
parent 994090ba9c
commit d831dd8e85
3 changed files with 5 additions and 2 deletions

View File

@ -509,7 +509,8 @@ size_t RandomNumberSink::Put2(const byte *begin, size_t length, int messageEnd,
size_t ArraySink::Put2(const byte *begin, size_t length, int messageEnd, bool blocking) size_t ArraySink::Put2(const byte *begin, size_t length, int messageEnd, bool blocking)
{ {
memcpy(m_buf+m_total, begin, STDMIN(length, SaturatingSubtract(m_size, m_total))); if (m_buf+m_total != begin)
memcpy(m_buf+m_total, begin, STDMIN(length, SaturatingSubtract(m_size, m_total)));
m_total += length; m_total += length;
return 0; return 0;
} }

View File

@ -20,7 +20,8 @@ inline void SetWords(word *r, word a, size_t n)
inline void CopyWords(word *r, const word *a, size_t n) inline void CopyWords(word *r, const word *a, size_t n)
{ {
memcpy(r, a, n*WORD_SIZE); if (r != a)
memcpy(r, a, n*WORD_SIZE);
} }
inline void XorWords(word *r, const word *a, const word *b, size_t n) inline void XorWords(word *r, const word *a, const word *b, size_t n)

View File

@ -221,6 +221,7 @@ Deflator::Deflator(BufferedTransformation *attachment, int deflateLevel, int log
Deflator::Deflator(const NameValuePairs &parameters, BufferedTransformation *attachment) Deflator::Deflator(const NameValuePairs &parameters, BufferedTransformation *attachment)
: LowFirstBitWriter(attachment) : LowFirstBitWriter(attachment)
, m_deflateLevel(-1)
{ {
InitializeStaticEncoders(); InitializeStaticEncoders();
IsolatedInitialize(parameters); IsolatedInitialize(parameters);