File 0001-valgrind-shows-memory-errors-around-this-code-becaus.patch of Package libu2f-server.7902

From 5d74f88b278ca1df6c69d7328be2a8035ca7976c Mon Sep 17 00:00:00 2001
From: Joe Watkins <krakjoe@php.net>
Date: Fri, 9 Dec 2016 14:26:51 +0000
Subject: [PATCH] valgrind shows memory errors around this code, because the
 reference counts of objects are not managed properly

---
 u2f-server/core.c | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/u2f-server/core.c b/u2f-server/core.c
index c6bfc84..f384fec 100644
--- a/u2f-server/core.c
+++ b/u2f-server/core.c
@@ -406,10 +406,13 @@ static int registration_challenge_json(const char *challenge,
     rc = U2FS_OK;
 
 done:
-  json_object_put(json_challenge);
-  json_object_put(json_version);
-  json_object_put(json_appid);
-  json_object_put(json_output);
+  if (json_output) {
+    json_object_put(json_output);
+  } else {
+    json_object_put(json_challenge);
+    json_object_put(json_version);
+    json_object_put(json_appid);
+  }
 
   return rc;
 }
@@ -981,11 +984,14 @@ static int authentication_challenge_json(const char *challenge,
     rc = U2FS_OK;
 
 done:
-  json_object_put(json_challenge);
-  json_object_put(json_key);
-  json_object_put(json_version);
-  json_object_put(json_appid);
-  json_object_put(json_output);
+  if (json_output) {
+    json_object_put(json_output);
+  } else {
+    json_object_put(json_challenge);
+    json_object_put(json_key);
+    json_object_put(json_version);
+    json_object_put(json_appid);
+  }
 
   return rc;
 }
-- 
2.16.4

openSUSE Build Service is sponsored by