[Telepathy-commits] [telepathy-gabble/master] src/caps-hash.c: do not leak str when computing the hash of the verification string

Alban Crequy alban.crequy at collabora.co.uk
Tue Aug 19 10:52:51 PDT 2008


20080528100319-a41c0-61faf9a666b32fb96af202626727081286aefc10.gz
---
 src/caps-hash.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/caps-hash.c b/src/caps-hash.c
index d4a2d70..130ba77 100644
--- a/src/caps-hash.c
+++ b/src/caps-hash.c
@@ -131,7 +131,6 @@ caps_hash_compute (
     GPtrArray *dataforms)
 {
   GString *s;
-  gchar *str;
   gchar sha1[SHA1_HASH_SIZE];
   guint i;
   gchar *encoded;
@@ -184,11 +183,14 @@ caps_hash_compute (
         }
     }
 
-  str = g_string_free (s, FALSE);
-  DEBUG ("caps string: '%s'", str);
-  sha1_bin (str, strlen (str), (guchar *) sha1);
+  DEBUG ("caps string: '%s'", s->str);
+
+  sha1_bin (s->str, s->len, (guchar *) sha1);
+  g_string_free (s, TRUE);
+
   encoded = base64_encode (SHA1_HASH_SIZE, sha1, FALSE);
-  DEBUG ("caps base64: '%s'", encoded);
+
+  DEBUG ("caps hash (base64): '%s'", encoded);
 
   return encoded;
 }
-- 
1.5.6.3




More information about the Telepathy-commits mailing list