]> granicus.if.org Git - pdns/commitdiff
scoped_array/scoped_ptr mistake, found by rubenk's address sanitizer check run
authorbert hubert <bert.hubert@netherlabs.nl>
Tue, 3 Feb 2015 22:04:46 +0000 (23:04 +0100)
committerbert hubert <bert.hubert@netherlabs.nl>
Tue, 3 Feb 2015 22:04:46 +0000 (23:04 +0100)
pdns/base64.cc

index 5c04d01cb544a4577262707bd22c9cd1dd8b658e..87bebd857baf0a8484ecdff25c5fb0a172b17dc2 100644 (file)
@@ -1,5 +1,5 @@
 #include "base64.hh"
-#include <boost/scoped_ptr.hpp>
+#include <boost/scoped_array.hpp>
 #include <polarssl/base64.h>
 
 int B64Decode(const std::string& src, std::string& dst)
@@ -9,7 +9,7 @@ int B64Decode(const std::string& src, std::string& dst)
     return 0;
   }
   size_t dlen = ( src.length() * 6 + 7 ) / 8 ;
-  boost::scoped_ptr<unsigned char> d( new unsigned char[dlen] );
+  boost::scoped_array<unsigned char> d( new unsigned char[dlen] );
   if ( base64_decode( d.get(), &dlen, (const unsigned char*) src.c_str(), src.length() ) == 0 ) {
     dst = std::string( (const char*) d.get(), dlen );
     return 0;
@@ -21,7 +21,7 @@ std::string Base64Encode (const std::string& src)
 {
   if (!src.empty()) {
     size_t dlen = ( ( ( src.length() + 2 ) / 3 ) * 4 ) + 1;
-    boost::scoped_ptr<unsigned char> dst( new unsigned char[dlen] );
+    boost::scoped_array<unsigned char> dst( new unsigned char[dlen] );
     if( base64_encode( dst.get(), &dlen, (const unsigned char*) src.c_str(), src.length() ) == 0 )
       return std::string( (const char*) dst.get(), dlen );
   }