From 28caea92476e6d67bc3d99cec2a2f47dd372d5c8 Mon Sep 17 00:00:00 2001
From: Akshay Modi <nareshmodi@google.com>
Date: Thu, 16 Apr 2020 11:57:26 -0700
Subject: [PATCH] Fix memory leak in SetOpAttrValueScalar

PiperOrigin-RevId: 306892886
Change-Id: I081750fba3407edc5974d5c16ac0a0bca84c4da9
---
 tensorflow/c/eager/c_api.cc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tensorflow/c/eager/c_api.cc b/tensorflow/c/eager/c_api.cc
index b34d1026e08..02a760d9f1a 100644
--- a/tensorflow/c/eager/c_api.cc
+++ b/tensorflow/c/eager/c_api.cc
@@ -1587,6 +1587,7 @@ void SetOpAttrValueScalar(TFE_Context* ctx, TFE_Op* op,
       // require TFE_Op* and just convert it internally a NameAttrValue, so
       // consider adding an overload to the C API to make this case easier.
       TFE_OpSetAttrFunction(op, attr_name, func_op);
+      TFE_DeleteOp(func_op);
     } break;
     case tensorflow::AttrValue::kList:
       TF_FALLTHROUGH_INTENDED;