From 45fe02cee336b41100754f9c3b727db89408773e Mon Sep 17 00:00:00 2001
From: mrexodia <mr.exodia.tpodt@gmail.com>
Date: Fri, 13 May 2016 16:57:56 +0200
Subject: [PATCH] fixed memory leaks in ks_open

---
 llvm/keystone/ks.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/llvm/keystone/ks.cpp b/llvm/keystone/ks.cpp
index f3a8b3e..e4c04ae 100644
--- a/llvm/keystone/ks.cpp
+++ b/llvm/keystone/ks.cpp
@@ -375,7 +375,8 @@ ks_err ks_open(ks_arch arch, int mode, ks_engine **result)
                         TripleName = "ppc64";
                 } else {    // little endian
                     if (mode & KS_MODE_PPC32) {
-                        // do not suppor this mode
+                        // do not support this mode
+                        free(ks);
                         return KS_ERR_MODE;
                     }
                     if (mode & KS_MODE_MIPS64)
@@ -423,6 +424,7 @@ ks_err ks_open(ks_arch arch, int mode, ks_engine **result)
 
         if (TripleName.empty()) {
             // this arch is not supported
+            free(ks);
             return KS_ERR_ARCH;
         }
 
-- 
GitLab