Author: František Dvořák Date: Thu Mar 31 22:48:51 2016 +0200 IMPALA-2645: set mechUsing only on success Better to check success status from sasl_client_start() before using returned structure with auth mechanism. According to the API documentation, its value is guaranteed only after success (no error or SASL_CONTINUE). diff --git a/be/src/transport/TSasl.cpp b/be/src/transport/TSasl.cpp index 31e1e1a..3108dff 100644 --- a/be/src/transport/TSasl.cpp +++ b/be/src/transport/TSasl.cpp @@ -148,7 +148,9 @@ uint8_t* TSaslClient::evaluateChallengeOrResponse( &outlen, /* filled in on success */ (const char**)&mechUsing); clientStarted = true; - chosenMech = mechUsing; + if (result == SASL_OK || result == SASL_CONTINUE) { + chosenMech = mechUsing; + } } else { if (len > 0) { result=sasl_client_step(conn, /* our context */