]> git.stg.codes - stg.git/commitdiff
Some minor changes in bf stream.
authorMaxim Mamontov <faust.madf@gmail.com>
Sun, 27 Jul 2014 17:06:32 +0000 (20:06 +0300)
committerMaxim Mamontov <faust.madf@gmail.com>
Sun, 27 Jul 2014 17:06:32 +0000 (20:06 +0300)
stglibs/crypto.lib/bfstream.cpp
tests/test_bfstream.cpp

index 4f376c5d9f5e7d80217ea9ac419328761770b86e..24aa7e1011bf14bcf4b13243bed9e4810daca1a3 100644 (file)
@@ -26,6 +26,7 @@ class COMMON
               m_proc(proc)
         {
         InitContext(key.c_str(), key.length(), &m_ctx);
               m_proc(proc)
         {
         InitContext(key.c_str(), key.length(), &m_ctx);
+        memset(m_buffer, 0, sizeof(m_buffer));
         }
 
         void Put(const void * data, size_t size, bool last)
         }
 
         void Put(const void * data, size_t size, bool last)
@@ -35,7 +36,7 @@ class COMMON
             {
             memcpy(m_ptr, data, sizeof(m_buffer) - dataSize); // Fill buffer
             size -= sizeof(m_buffer) - dataSize; // Adjust size
             {
             memcpy(m_ptr, data, sizeof(m_buffer) - dataSize); // Fill buffer
             size -= sizeof(m_buffer) - dataSize; // Adjust size
-            data += sizeof(m_buffer) - dataSize; // Adjust data pointer
+            data = static_cast<const char *>(data) + sizeof(m_buffer) - dataSize; // Adjust data pointer
             m_proc(m_buffer, m_buffer, sizeof(m_buffer), &m_ctx); // Process
             m_callback(m_buffer, sizeof(m_buffer), m_data); // Consume
             m_ptr = m_buffer;
             m_proc(m_buffer, m_buffer, sizeof(m_buffer), &m_ctx); // Process
             m_callback(m_buffer, sizeof(m_buffer), m_data); // Consume
             m_ptr = m_buffer;
index 18884d6da48d574f0885a9eabc31e508c8739d52..595301b2b931e61bb0232e839cfa8f8df3def45c 100644 (file)
@@ -122,6 +122,7 @@ namespace tut
         STG::ENCRYPT_STREAM estream("pr7Hhen", Callback, &tracker);
         std::string source = "This is a test long string for checking stream encryption/decryption. \"abcdefghijklmnopqrstuvwxyz 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ\"";
         char buffer[source.length() + 9];
         STG::ENCRYPT_STREAM estream("pr7Hhen", Callback, &tracker);
         std::string source = "This is a test long string for checking stream encryption/decryption. \"abcdefghijklmnopqrstuvwxyz 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ\"";
         char buffer[source.length() + 9];
+        memset(buffer, 0, sizeof(buffer));
 
         estream.Put(source.c_str(), source.length() + 1, true);
         ensure("Encryption long string LastSize()", tracker.LastSize() >= source.length() + 1);
 
         estream.Put(source.c_str(), source.length() + 1, true);
         ensure("Encryption long string LastSize()", tracker.LastSize() >= source.length() + 1);