fdvorak / rpms / krb5

Forked from rpms/krb5 3 years ago
Clone
6dd4064
From 5d970e16e768a134e65ee7cf367b8f34a80e0980 Mon Sep 17 00:00:00 2001
091dcbf
From: Greg Hudson <ghudson@mit.edu>
091dcbf
Date: Tue, 27 Mar 2018 15:42:28 -0400
091dcbf
Subject: [PATCH] Zap data when freeing krb5_spake_factor
091dcbf
091dcbf
krb5_spake_factor structures will sometimes hold sensitive data when
091dcbf
second-factor SPAKE is implemented, so should be zapped when freed.
091dcbf
091dcbf
ticket: 8647
091dcbf
(cherry picked from commit 9cc94a3f1ce06a4430f684300a747ec079102403)
091dcbf
---
091dcbf
 src/lib/krb5/krb/kfree.c | 4 +++-
091dcbf
 1 file changed, 3 insertions(+), 1 deletion(-)
091dcbf
091dcbf
diff --git a/src/lib/krb5/krb/kfree.c b/src/lib/krb5/krb/kfree.c
091dcbf
index e1ea1494a..71e7fcad0 100644
091dcbf
--- a/src/lib/krb5/krb/kfree.c
091dcbf
+++ b/src/lib/krb5/krb/kfree.c
091dcbf
@@ -897,7 +897,9 @@ k5_free_spake_factor(krb5_context context, krb5_spake_factor *val)
091dcbf
 {
091dcbf
     if (val == NULL)
091dcbf
         return;
091dcbf
-    krb5_free_data(context, val->data);
091dcbf
+    if (val->data != NULL)
091dcbf
+        zapfree(val->data->data, val->data->length);
091dcbf
+    free(val->data);
091dcbf
     free(val);
091dcbf
 }
091dcbf