diff --git a/src/libs/3rdparty/botan/src/alloc/mem_pool/mem_pool.cpp b/src/libs/3rdparty/botan/src/alloc/mem_pool/mem_pool.cpp
index 38e0c3285ff3f569b286ba20f39d910def63237b..a6ebef35fd89f15822521b702a44798f9017e4f6 100644
--- a/src/libs/3rdparty/botan/src/alloc/mem_pool/mem_pool.cpp
+++ b/src/libs/3rdparty/botan/src/alloc/mem_pool/mem_pool.cpp
@@ -180,7 +180,7 @@ void Pooling_Allocator::deallocate(void* ptr, u32bit n)
    const u32bit BITMAP_SIZE = Memory_Block::bitmap_size();
    const u32bit BLOCK_SIZE = Memory_Block::block_size();
 
-   if(ptr == 0 && n == 0)
+   if(ptr == 0 || n == 0)
       return;
 
    Mutex_Holder lock(mutex);
diff --git a/src/libs/3rdparty/botan/src/pk_pad/emsa2/emsa2.cpp b/src/libs/3rdparty/botan/src/pk_pad/emsa2/emsa2.cpp
index 168f9209e3540aac9b65a064cd11e5701cb5d1b5..aee323130e8d61db92a56d6b1c4c7ebcf48523ae 100644
--- a/src/libs/3rdparty/botan/src/pk_pad/emsa2/emsa2.cpp
+++ b/src/libs/3rdparty/botan/src/pk_pad/emsa2/emsa2.cpp
@@ -103,8 +103,9 @@ EMSA2::EMSA2(HashFunction* hash_in) : hash(hash_in)
 
    if(hash_id == 0)
       {
+      std::string hashname = hash->name();
       delete hash;
-      throw Encoding_Error("EMSA2 cannot be used with " + hash->name());
+      throw Encoding_Error("EMSA2 cannot be used with " + hashname);
       }
    }
 
diff --git a/src/libs/3rdparty/botan/src/rng/randpool/randpool.cpp b/src/libs/3rdparty/botan/src/rng/randpool/randpool.cpp
index 77a5228c663ff0c3af45fbb12c879c9b18f50bda..4d7b92d15b6ba43c08bf0e23ccad2b6fffb4c726 100644
--- a/src/libs/3rdparty/botan/src/rng/randpool/randpool.cpp
+++ b/src/libs/3rdparty/botan/src/rng/randpool/randpool.cpp
@@ -186,10 +186,11 @@ Randpool::Randpool(BlockCipher* cipher_in,
       !cipher->valid_keylength(OUTPUT_LENGTH) ||
       !mac->valid_keylength(OUTPUT_LENGTH))
       {
+      std::string ciphername = cipher->name(), macname = mac->name();
       delete cipher;
       delete mac;
       throw Internal_Error("Randpool: Invalid algorithm combination " +
-                           cipher->name() + "/" + mac->name());
+                           ciphername + "/" + macname);
       }
 
    buffer.create(BLOCK_SIZE);