Sophie

Sophie

distrib > Mageia > 1 > i586 > media > core-updates-src > by-pkgid > 05f28e19b1ed6095b1bb74a1a7ceb09c > files > 7

gnutls-2.10.5-2.3.mga1.src.rpm

From 4eeba9b38b63d2aa7fd091c00c753b30b78e0209 Mon Sep 17 00:00:00 2001
From: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Date: Fri, 25 Mar 2011 20:18:00 +0100
Subject: [PATCH] Fix size of gnutls_openpgp_keyid_t by using the GNUTLS_OPENPGP_KEYID_SIZE definition.
 Reported by Andreas Metzler.

---
 lib/includes/gnutls/openpgp.h |    3 ++-
 lib/openpgp/gnutls_openpgp.c  |    9 +++++----
 lib/openpgp/pgp.c             |    4 ++--
 lib/openpgp/privkey.c         |    4 ++--
 4 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/lib/includes/gnutls/openpgp.h b/lib/includes/gnutls/openpgp.h
index 78cec82..8ea994a 100644
--- a/lib/includes/gnutls/openpgp.h
+++ b/lib/includes/gnutls/openpgp.h
@@ -53,7 +53,8 @@ extern "C"
     GNUTLS_OPENPGP_FMT_BASE64
   } gnutls_openpgp_crt_fmt_t;
 
-  typedef unsigned char gnutls_openpgp_keyid_t[8];
+#define GNUTLS_OPENPGP_KEYID_SIZE 8
+  typedef unsigned char gnutls_openpgp_keyid_t[GNUTLS_OPENPGP_KEYID_SIZE];
 
 /* gnutls_openpgp_cert_t should be defined in gnutls.h
  */
diff --git a/lib/openpgp/gnutls_openpgp.c b/lib/openpgp/gnutls_openpgp.c
index 90246f8..d6c4ef2 100644
--- a/lib/openpgp/gnutls_openpgp.c
+++ b/lib/openpgp/gnutls_openpgp.c
@@ -322,7 +322,7 @@ gnutls_certificate_set_openpgp_key_file (gnutls_certificate_credentials_t res,
 static int
 get_keyid (gnutls_openpgp_keyid_t keyid, const char *str)
 {
-  size_t keyid_size = sizeof (keyid);
+  size_t keyid_size = GNUTLS_OPENPGP_KEYID_SIZE;
 
   if (strlen (str) != 16)
     {
@@ -811,8 +811,9 @@ _gnutls_openpgp_crt_to_gcert (gnutls_cert * gcert, gnutls_openpgp_crt_t cert)
       uint32_t kid32[2];
 
       _gnutls_debug_log
-	("Importing Openpgp cert and using openpgp sub key: %s\n",
-	 _gnutls_bin2hex (keyid, sizeof (keyid), err_buf, sizeof (err_buf)));
+        ("Importing Openpgp cert and using openpgp sub key: %s\n",
+         _gnutls_bin2hex (keyid, GNUTLS_OPENPGP_KEYID_SIZE, err_buf, sizeof (err_buf)
+                          ));
 
       KEYID_IMPORT (kid32, keyid);
 
@@ -829,7 +830,7 @@ _gnutls_openpgp_crt_to_gcert (gnutls_cert * gcert, gnutls_openpgp_crt_t cert)
       gnutls_openpgp_crt_get_subkey_usage (cert, idx, &gcert->key_usage);
       gcert->use_subkey = 1;
 
-      memcpy (gcert->subkey_id, keyid, sizeof (keyid));
+      memcpy (gcert->subkey_id, keyid, GNUTLS_OPENPGP_KEYID_SIZE);
 
       ret =
 	_gnutls_openpgp_crt_get_mpis (cert, kid32, gcert->params,
diff --git a/lib/openpgp/pgp.c b/lib/openpgp/pgp.c
index 3483243..e592558 100644
--- a/lib/openpgp/pgp.c
+++ b/lib/openpgp/pgp.c
@@ -1560,7 +1560,7 @@ gnutls_openpgp_crt_get_preferred_key_id (gnutls_openpgp_crt_t key,
       return GNUTLS_E_INVALID_REQUEST;
     }
 
-  memcpy (keyid, key->preferred_keyid, sizeof (gnutls_openpgp_keyid_t));
+  memcpy (keyid, key->preferred_keyid, GNUTLS_OPENPGP_KEYID_SIZE);
 
   return 0;
 }
@@ -1598,7 +1598,7 @@ gnutls_openpgp_crt_set_preferred_key_id (gnutls_openpgp_crt_t key,
     }
 
   key->preferred_set = 1;
-  memcpy (key->preferred_keyid, keyid, sizeof (gnutls_openpgp_keyid_t));
+  memcpy (key->preferred_keyid, keyid, GNUTLS_OPENPGP_KEYID_SIZE);
 
   return 0;
 }
diff --git a/lib/openpgp/privkey.c b/lib/openpgp/privkey.c
index bc4c635..77a14de 100644
--- a/lib/openpgp/privkey.c
+++ b/lib/openpgp/privkey.c
@@ -1140,7 +1140,7 @@ gnutls_openpgp_privkey_get_preferred_key_id (gnutls_openpgp_privkey_t key,
       return GNUTLS_E_INVALID_REQUEST;
     }
 
-  memcpy (keyid, key->preferred_keyid, sizeof (gnutls_openpgp_keyid_t));
+  memcpy (keyid, key->preferred_keyid, GNUTLS_OPENPGP_KEYID_SIZE);
 
   return 0;
 }
@@ -1178,7 +1178,7 @@ gnutls_openpgp_privkey_set_preferred_key_id (gnutls_openpgp_privkey_t key,
     }
 
   key->preferred_set = 1;
-  memcpy (key->preferred_keyid, keyid, sizeof (gnutls_openpgp_keyid_t));
+  memcpy (key->preferred_keyid, keyid, GNUTLS_OPENPGP_KEYID_SIZE);
 
   return 0;
 }
-- 
1.7.2.5