aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2015-09-22 08:30:08 -0700
committerGravatar Craig Tiller <ctiller@google.com>2015-09-22 08:30:08 -0700
commit493fd972826a04083cd31ae1c0154b649c1264aa (patch)
tree7d339100e9e50dae6e8aceb1066b25be9b095b96 /src/core
parentd64ed6a38bdf553013f08531dcc290e07f76c42a (diff)
parent51261563da4042a81fed86cd46ab9e5a2693fd2c (diff)
Merge pull request #3407 from jboeuf/fix_3390
Fixing issue #3390
Diffstat (limited to 'src/core')
-rw-r--r--src/core/security/client_auth_filter.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/core/security/client_auth_filter.c b/src/core/security/client_auth_filter.c
index f3ecfd0e60..d15a967341 100644
--- a/src/core/security/client_auth_filter.c
+++ b/src/core/security/client_auth_filter.c
@@ -203,7 +203,8 @@ static void auth_start_transport_op(grpc_call_element *elem,
size_t i;
grpc_client_security_context *sec_ctx = NULL;
- if (calld->security_context_set == 0) {
+ if (calld->security_context_set == 0 &&
+ op->cancel_with_status == GRPC_STATUS_OK) {
calld->security_context_set = 1;
GPR_ASSERT(op->context);
if (op->context[GRPC_CONTEXT_SECURITY].value == NULL) {
@@ -218,11 +219,11 @@ static void auth_start_transport_op(grpc_call_element *elem,
chand->security_connector->base.auth_context, "client_auth_filter");
}
- if (op->bind_pollset) {
+ if (op->bind_pollset != NULL) {
calld->pollset = op->bind_pollset;
}
- if (op->send_ops && !calld->sent_initial_metadata) {
+ if (op->send_ops != NULL && !calld->sent_initial_metadata) {
size_t nops = op->send_ops->nops;
grpc_stream_op *ops = op->send_ops->ops;
for (i = 0; i < nops; i++) {