diff options
author | Andreas Steffen <andreas.steffen@strongswan.org> | 2014-09-26 13:24:33 +0200 |
---|---|---|
committer | Andreas Steffen <andreas.steffen@strongswan.org> | 2014-10-05 12:55:38 +0200 |
commit | e77df5a1f6d81f43b7afd387e390c6d96e734607 (patch) | |
tree | 1ab7f2a8f670103cb73cfb1d4cf274660b85a5ed /src/libimcv/pa_tnc/pa_tnc_attr_manager.c | |
parent | ebfd8278f9f3fff88ee2dfce4f4506dc2b1e11bc (diff) | |
download | strongswan-e77df5a1f6d81f43b7afd387e390c6d96e734607.tar.bz2 strongswan-e77df5a1f6d81f43b7afd387e390c6d96e734607.tar.xz |
Added total length parameter in PA-TNC attribute constructor
Diffstat (limited to 'src/libimcv/pa_tnc/pa_tnc_attr_manager.c')
-rw-r--r-- | src/libimcv/pa_tnc/pa_tnc_attr_manager.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/libimcv/pa_tnc/pa_tnc_attr_manager.c b/src/libimcv/pa_tnc/pa_tnc_attr_manager.c index 7fae9a9dd..71f294d10 100644 --- a/src/libimcv/pa_tnc/pa_tnc_attr_manager.c +++ b/src/libimcv/pa_tnc/pa_tnc_attr_manager.c @@ -176,8 +176,9 @@ METHOD(pa_tnc_attr_manager_t, create, pa_tnc_attr_t*, msg_info, *offset + PA_TNC_ATTR_INFO_SIZE); return NULL; } + length -= PA_TNC_ATTR_HEADER_SIZE; - if (!reader->read_data(reader, length - PA_TNC_ATTR_HEADER_SIZE, &value)) + if (!reader->read_data(reader, length, &value)) { DBG1(DBG_TNC, "insufficient bytes for PA-TNC attribute value"); *error = ietf_attr_pa_tnc_error_create_with_offset(error_code, @@ -207,7 +208,7 @@ METHOD(pa_tnc_attr_manager_t, create, pa_tnc_attr_t*, { if (entry->attr_create) { - attr = entry->attr_create(type, value); + attr = entry->attr_create(type, length, value); } break; } |