From 186cdab82eaca139c63f4742a57658e01e2571ec Mon Sep 17 00:00:00 2001
From: ctiller <ctiller@google.com>
Date: Fri, 19 Dec 2014 11:01:54 -0800
Subject: [PATCH] Don't allow trailing metadata from the client. 	Change
 on 2014/12/19 by ctiller <ctiller@google.com> ------------- Created by MOE:
 http://code.google.com/p/moe-java MOE_MIGRATED_REVID=82527952

---
 src/core/surface/call.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/core/surface/call.c b/src/core/surface/call.c
index 6270ce640d..7e894f1f72 100644
--- a/src/core/surface/call.c
+++ b/src/core/surface/call.c
@@ -296,8 +296,14 @@ grpc_call_error grpc_call_add_metadata(grpc_call *call, grpc_metadata *metadata,
   grpc_call_element *elem;
   grpc_call_op op;
 
-  if (call->state >= CALL_FINISHED) {
-    return GRPC_CALL_ERROR_ALREADY_FINISHED;
+  if (call->is_client) {
+    if (call->state >= CALL_STARTED) {
+      return GRPC_CALL_ERROR_ALREADY_INVOKED;
+    }
+  } else {
+    if (call->state >= CALL_FINISHED) {
+      return GRPC_CALL_ERROR_ALREADY_FINISHED;
+    }
   }
 
   op.type = GRPC_SEND_METADATA;
-- 
GitLab