From: Sansar Choinyambuu Date: Wed, 5 Oct 2011 08:52:17 +0000 (+0200) Subject: Changed definition of get_my_pub_val function a little X-Git-Tag: 4.6.2~352 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4b3d992d0876d12770c5a7578278bb844ad59b92;p=thirdparty%2Fstrongswan.git Changed definition of get_my_pub_val function a little --- diff --git a/src/libpts/pts/pts.c b/src/libpts/pts/pts.c index a0069864d4..5278f7dcd1 100644 --- a/src/libpts/pts/pts.c +++ b/src/libpts/pts/pts.c @@ -161,14 +161,11 @@ METHOD(pts_t, create_dh, bool, return FALSE; } -METHOD(pts_t, get_my_pub_val, chunk_t, - private_pts_t *this) +METHOD(pts_t, get_my_pub_val, void, + private_pts_t *this, chunk_t *pub_value) { - chunk_t public_value; - - this->dh->get_my_public_value(this->dh, &public_value); - DBG3(DBG_PTS, "My Public value:%B", &public_value); - return public_value; + this->dh->get_my_public_value(this->dh, pub_value); + DBG3(DBG_PTS, "My Public value:%B", pub_value); } METHOD(pts_t, set_other_pub_val, void, @@ -215,6 +212,7 @@ METHOD(pts_t, calculate_secret, bool, this->secret = chunk_create(output, HASH_SIZE_SHA1); DBG3(DBG_PTS, "Secret assessment value: %B", &this->secret); + chunk_free(&shared_secret); hasher->destroy(hasher); return TRUE; } diff --git a/src/libpts/pts/pts.h b/src/libpts/pts/pts.h index 02d88b1a3c..c2895f8ac1 100644 --- a/src/libpts/pts/pts.h +++ b/src/libpts/pts/pts.h @@ -101,9 +101,9 @@ struct pts_t { /** * Gets Own Diffie Hellman Public Value * - * @return D-H Public Value + * @param info chunk to keep own public value */ - chunk_t (*get_my_pub_val)(pts_t *this); + void (*get_my_pub_val)(pts_t *this, chunk_t *pub_value); /** * Sets the public value of partner.