53 lines
1.5 KiB
Diff
53 lines
1.5 KiB
Diff
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(-)
|
|
|
|
Index: libu2f-server-1.0.1/u2f-server/core.c
|
|
===================================================================
|
|
--- libu2f-server-1.0.1.orig/u2f-server/core.c
|
|
+++ libu2f-server-1.0.1/u2f-server/core.c
|
|
@@ -409,10 +409,13 @@ static int registration_challenge_json(c
|
|
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;
|
|
}
|
|
@@ -980,11 +983,14 @@ static int authentication_challenge_json
|
|
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;
|
|
}
|