From 4b3d992d0876d12770c5a7578278bb844ad59b92 Mon Sep 17 00:00:00 2001 From: Sansar Choinyambuu Date: Wed, 5 Oct 2011 10:52:17 +0200 Subject: [PATCH] Changed definition of get_my_pub_val function a little --- src/libpts/pts/pts.c | 12 +++++------- src/libpts/pts/pts.h | 4 ++-- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/libpts/pts/pts.c b/src/libpts/pts/pts.c index a0069864d..5278f7dcd 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 02d88b1a3..c2895f8ac 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.