gnutls-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU gnutls branch, master, updated. gnutls_2_99_2-21-g14f27b4


From: Nikos Mavrogiannopoulos
Subject: [SCM] GNU gnutls branch, master, updated. gnutls_2_99_2-21-g14f27b4
Date: Sat, 28 May 2011 22:10:11 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU gnutls".

http://git.savannah.gnu.org/cgit/gnutls.git/commit/?id=14f27b4e2488f82eeaf05b78073daedb0712a76f

The branch, master has been updated
       via  14f27b4e2488f82eeaf05b78073daedb0712a76f (commit)
      from  e522469ded7d5efe183b10de66447aeeea177bce (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 14f27b4e2488f82eeaf05b78073daedb0712a76f
Author: Nikos Mavrogiannopoulos <address@hidden>
Date:   Sat May 28 23:54:33 2011 +0200

    simplified _gnutls_supported_compression_methods().

-----------------------------------------------------------------------

Summary of changes:
 lib/gnutls_compress.c  |   11 ++++-------
 lib/gnutls_compress.h  |    2 +-
 lib/gnutls_handshake.c |   44 ++++++++++++--------------------------------
 3 files changed, 17 insertions(+), 40 deletions(-)

diff --git a/lib/gnutls_compress.c b/lib/gnutls_compress.c
index 2c5fa09..cb8d65b 100644
--- a/lib/gnutls_compress.c
+++ b/lib/gnutls_compress.c
@@ -256,13 +256,12 @@ _gnutls_compression_is_ok (gnutls_compression_method_t 
algorithm)
 #define SUPPORTED_COMPRESSION_METHODS 
session->internals.priorities.compression.algorithms
 int
 _gnutls_supported_compression_methods (gnutls_session_t session,
-                                       uint8_t ** comp)
+                                       uint8_t * comp, size_t comp_size)
 {
   unsigned int i, j;
 
-  *comp = gnutls_malloc (sizeof (uint8_t) * SUPPORTED_COMPRESSION_METHODS);
-  if (*comp == NULL)
-    return GNUTLS_E_MEMORY_ERROR;
+  if (comp_size < SUPPORTED_COMPRESSION_METHODS)
+    return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
 
   for (i = j = 0; i < SUPPORTED_COMPRESSION_METHODS; i++)
     {
@@ -279,15 +278,13 @@ _gnutls_supported_compression_methods (gnutls_session_t 
session,
           continue;
         }
 
-      (*comp)[j] = (uint8_t) tmp;
+      comp[j] = (uint8_t) tmp;
       j++;
     }
 
   if (j == 0)
     {
       gnutls_assert ();
-      gnutls_free (*comp);
-      *comp = NULL;
       return GNUTLS_E_NO_COMPRESSION_ALGORITHMS;
     }
   return j;
diff --git a/lib/gnutls_compress.h b/lib/gnutls_compress.h
index 35af229..ca58bdf 100644
--- a/lib/gnutls_compress.h
+++ b/lib/gnutls_compress.h
@@ -36,7 +36,7 @@ int _gnutls_m_compressed2plaintext (gnutls_session_t session,
 
 /* Algorithm handling. */
 int _gnutls_supported_compression_methods (gnutls_session_t session,
-                                           uint8_t ** comp);
+                                           uint8_t * comp, size_t max_comp);
 int _gnutls_compression_is_ok (gnutls_compression_method_t algorithm);
 int _gnutls_compression_get_num (gnutls_compression_method_t algorithm);
 gnutls_compression_method_t _gnutls_compression_get_id (int num);
diff --git a/lib/gnutls_handshake.c b/lib/gnutls_handshake.c
index 02467b4..9eeafae 100644
--- a/lib/gnutls_handshake.c
+++ b/lib/gnutls_handshake.c
@@ -1052,9 +1052,9 @@ _gnutls_server_select_comp_method (gnutls_session_t 
session,
                                    opaque * data, int datalen)
 {
   int x, i, j;
-  uint8_t *comps;
+  uint8_t comps[MAX_ALGOS];
 
-  x = _gnutls_supported_compression_methods (session, &comps);
+  x = _gnutls_supported_compression_methods (session, comps, MAX_ALGOS);
   if (x < 0)
     {
       gnutls_assert ();
@@ -1070,8 +1070,6 @@ _gnutls_server_select_comp_method (gnutls_session_t 
session,
               gnutls_compression_method_t method =
                 _gnutls_compression_get_id (comps[i]);
 
-              gnutls_free (comps);
-
               _gnutls_epoch_set_compression (session, EPOCH_NEXT, method);
               session->security_parameters.compression_method = method;
 
@@ -1088,7 +1086,6 @@ _gnutls_server_select_comp_method (gnutls_session_t 
session,
   /* we were not able to find a compatible compression
    * algorithm
    */
-  gnutls_free (comps);
   gnutls_assert ();
   return GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM;
 
@@ -1538,7 +1535,7 @@ static int
 _gnutls_client_set_comp_method (gnutls_session_t session, opaque comp_method)
 {
   int comp_methods_num;
-  uint8_t *compression_methods;
+  uint8_t compression_methods[MAX_ALGOS];
   int id = _gnutls_compression_get_id(comp_method);
   int i;
 
@@ -1546,7 +1543,7 @@ _gnutls_client_set_comp_method (gnutls_session_t session, 
opaque comp_method)
                          gnutls_compression_get_name(id), (int)comp_method);
 
   comp_methods_num = _gnutls_supported_compression_methods (session,
-                                                            
&compression_methods);
+                                                            
compression_methods, MAX_ALGOS);
   if (comp_methods_num < 0)
     {
       gnutls_assert ();
@@ -1562,8 +1559,6 @@ _gnutls_client_set_comp_method (gnutls_session_t session, 
opaque comp_method)
         }
     }
 
-  gnutls_free (compression_methods);
-
   if (comp_methods_num != 0)
     {
       gnutls_assert ();
@@ -1849,42 +1844,27 @@ static int
 _gnutls_copy_comp_methods (gnutls_session_t session,
                            gnutls_buffer_st * cdata)
 {
-  int ret, i;
-  uint8_t *compression_methods, comp_num;
+  int ret;
+  uint8_t compression_methods[MAX_ALGOS], comp_num;
   size_t init_length = cdata->length;
 
-  ret = _gnutls_supported_compression_methods (session, &compression_methods);
+  ret = _gnutls_supported_compression_methods (session, compression_methods, 
MAX_ALGOS);
   if (ret < 0)
-    {
-      gnutls_assert ();
-      return ret;
-    }
+    return gnutls_assert_val(ret);
 
   comp_num = ret;
 
   /* put the number of compression methods */
   ret = _gnutls_buffer_append_prefix(cdata, 8, comp_num);
   if (ret < 0)
-    {
-      gnutls_assert();
-      goto cleanup;
-    }
+    return gnutls_assert_val(ret);
 
-  for (i = 0; i < comp_num; i++)
-    {
-      ret = _gnutls_buffer_append_data(cdata, &compression_methods[i], 1);
-      if (ret < 0)
-        {
-          gnutls_assert();
-          goto cleanup;
-        }
-    }
+  ret = _gnutls_buffer_append_data(cdata, compression_methods, comp_num);
+  if (ret < 0)
+    return gnutls_assert_val(ret);
 
   ret = cdata->length - init_length;
 
-cleanup:
-  gnutls_free (compression_methods);
-
   return ret;
 }
 


hooks/post-receive
-- 
GNU gnutls



reply via email to

[Prev in Thread] Current Thread [Next in Thread]