Protect from failed allocations
diff --git a/src/mpin_crypto_non_tee.cpp b/src/mpin_crypto_non_tee.cpp
index 77cdbc0..ebc991c 100644
--- a/src/mpin_crypto_non_tee.cpp
+++ b/src/mpin_crypto_non_tee.cpp
@@ -42,18 +42,27 @@
Octet::Octet(size_t maxSize)
{
- this->max = maxSize;
+ this->max = 0;
this->len = 0;
this->val = (char *) calloc(maxSize, 1);
+ if(this->val != NULL)
+ {
+ this->max = maxSize;
+ }
}
Octet::Octet(const String& str)
{
+ this->max = 0;
+ this->len = 0;
size_t maxSize = str.size();
- this->max = maxSize;
- this->len = maxSize;
this->val = (char *) malloc(maxSize);
- memcpy(this->val, str.c_str(), maxSize);
+ if(this->val != NULL)
+ {
+ this->max = maxSize;
+ this->len = maxSize;
+ memcpy(this->val, str.c_str(), maxSize);
+ }
}
Octet::~Octet()