From bfb708ea2322677a1ac5c4d42b49877dd6c36a59 Mon Sep 17 00:00:00 2001 From: Andreas Steffen Date: Mon, 2 Feb 2015 11:36:14 +0100 Subject: [PATCH] Check for null pointer before applying memwipe() --- .../plugins/bliss/bliss_private_key.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/libstrongswan/plugins/bliss/bliss_private_key.c b/src/libstrongswan/plugins/bliss/bliss_private_key.c index 64f0b063d..0f89bed10 100644 --- a/src/libstrongswan/plugins/bliss/bliss_private_key.c +++ b/src/libstrongswan/plugins/bliss/bliss_private_key.c @@ -643,10 +643,16 @@ METHOD(private_key_t, destroy, void, if (ref_put(&this->ref)) { lib->encoding->clear_cache(lib->encoding, this); - memwipe(this->s1, this->set->n * sizeof(int8_t)); - memwipe(this->s2, this->set->n * sizeof(int8_t)); - free(this->s1); - free(this->s2); + if (this->s1) + { + memwipe(this->s1, this->set->n * sizeof(int8_t)); + free(this->s1); + } + if (this->s2) + { + memwipe(this->s2, this->set->n * sizeof(int8_t)); + free(this->s2); + } free(this->A); free(this); }