From 623898cf5e7de26047d332ad37ecaf61f4d50217 Mon Sep 17 00:00:00 2001 From: Kevin Wasserman Date: Thu, 20 Nov 2014 17:32:37 -0500 Subject: [PATCH] Don't return pointers to memory held by local std::string buffers --- json_gssapi/test/GSSGetMicTest.cpp | 5 +---- json_gssapi/test/GSSPseudoRandomTest.cpp | 5 +---- json_gssapi/test/GSSUnwrapTest.cpp | 5 +---- json_gssapi/test/GSSWrapTest.cpp | 5 +---- 4 files changed, 4 insertions(+), 16 deletions(-) diff --git a/json_gssapi/test/GSSGetMicTest.cpp b/json_gssapi/test/GSSGetMicTest.cpp index 1273761..cb50fff 100644 --- a/json_gssapi/test/GSSGetMicTest.cpp +++ b/json_gssapi/test/GSSGetMicTest.cpp @@ -31,10 +31,8 @@ mock_get_mic( { /* Error checking */ /* Variables */ - std::string buffer; /* Setup */ - buffer = MockGetMic::outputToken.toString(); /* Main */ // Copy our input from the appropriate parameters to MockGetMic @@ -45,8 +43,7 @@ mock_get_mic( // copy our output to the appropriate parameters *minor_status = MockGetMic::minor_status; - message_token->length = buffer.length(); - message_token->value = (void *)buffer.c_str(); + *message_token = *MockGetMic::outputToken.toGss(); /* Cleanup */ /* return */ diff --git a/json_gssapi/test/GSSPseudoRandomTest.cpp b/json_gssapi/test/GSSPseudoRandomTest.cpp index d28b8fd..93d123c 100644 --- a/json_gssapi/test/GSSPseudoRandomTest.cpp +++ b/json_gssapi/test/GSSPseudoRandomTest.cpp @@ -38,7 +38,6 @@ OM_uint32 mock_gss_pseudo_random( gss_buffer_t prf_out) { /* Variables */ - std::string buffer; /* Error checking */ /* Setup */ /* Main */ @@ -47,9 +46,7 @@ OM_uint32 mock_gss_pseudo_random( MockPseudoRandom::inputMessageBuffer.setValue(prf_in); MockPseudoRandom::desiredOutputLength = desired_output_len; - buffer = MockPseudoRandom::outputMessageBuffer.toString(); - prf_out->length = buffer.length(); - prf_out->value = (void *)buffer.c_str(); + *prf_out = *MockPseudoRandom::outputMessageBuffer.toGss(); /* Cleanup */ /* Return */ diff --git a/json_gssapi/test/GSSUnwrapTest.cpp b/json_gssapi/test/GSSUnwrapTest.cpp index de0d9a1..1ed079d 100644 --- a/json_gssapi/test/GSSUnwrapTest.cpp +++ b/json_gssapi/test/GSSUnwrapTest.cpp @@ -35,10 +35,8 @@ mock_unwrap( { /* Error checking */ /* Variables */ - std::string buffer; /* Setup */ - buffer = MockUnwrap::outputMessageBuffer.toString(); /* Main */ // Copy our input from the appropriate parameters to MockUnwrap @@ -50,8 +48,7 @@ mock_unwrap( *minor_status = MockUnwrap::minor_status; *conf_state = MockUnwrap::conf_state; *qop_state = MockUnwrap::qop_state; - output_message_buffer->length = buffer.length(); - output_message_buffer->value = (void *)buffer.c_str(); + *output_message_buffer = *MockUnwrap::outputMessageBuffer.toGss(); /* Cleanup */ /* return */ diff --git a/json_gssapi/test/GSSWrapTest.cpp b/json_gssapi/test/GSSWrapTest.cpp index 0f170e1..684dadb 100644 --- a/json_gssapi/test/GSSWrapTest.cpp +++ b/json_gssapi/test/GSSWrapTest.cpp @@ -33,10 +33,8 @@ mock_wrap( { /* Error checking */ /* Variables */ - std::string buffer; /* Setup */ - buffer = MockWrap::outputMessageBuffer.toString(); /* Main */ // Copy our input from the appropriate parameters to MockWrap @@ -49,8 +47,7 @@ mock_wrap( // copy our output to the appropriate parameters *minor_status = MockWrap::minor_status; *conf_state = MockWrap::conf_state; - output_message_buffer->length = buffer.length(); - output_message_buffer->value = (void *)buffer.c_str(); + *output_message_buffer = *MockWrap::outputMessageBuffer.toGss(); /* Cleanup */ /* return */ -- 2.1.4