updates.
authorPekka Riikonen <priikone@silcnet.org>
Wed, 14 Mar 2001 21:15:49 +0000 (21:15 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Wed, 14 Mar 2001 21:15:49 +0000 (21:15 +0000)
CHANGES
lib/silcutil/silcbuffmt.c

diff --git a/CHANGES b/CHANGES
index 9333281e78b8d82416c95baa84af07e810d001cb..aead67d541cafd931e71a94bd116ce879023d9bb 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -9,6 +9,10 @@ Wed Mar 14 20:37:35 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          server code.  Various commands now includes the CF_LAG_STRICT
          flag to disallow any kind of miss-use of the command.
 
+       * Fixed the silc_buffer_unformat to not to allocate any data
+         if the length of the data is zero.  It used to allocate the
+         length + 1.  Affected file lib/silcutil/silcbuffmt.c.
+
 Wed Mar 14 16:10:30 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Changed the format of AdminConnection configuration section
index ae5a27aecd8f65abb1ff56608de55f6666b5e4c4..08c8e29059574735aae2ef79af1bb965d6197abe 100644 (file)
@@ -250,7 +250,7 @@ int silc_buffer_unformat(SilcBuffer src, ...)
        SILC_GET16_MSB(len2, src->data);
        silc_buffer_pull(src, 2);
        HAS_SPACE(src, len2);
-       if (x) {
+       if (x && len2) {
          *x = silc_calloc(len2 + 1, sizeof(unsigned char));
          memcpy(*x, src->data, len2);
        }
@@ -278,7 +278,7 @@ int silc_buffer_unformat(SilcBuffer src, ...)
        SILC_GET32_MSB(len2, src->data);
        silc_buffer_pull(src, 4);
        HAS_SPACE(src, len2);
-       if (x) {
+       if (x && len2) {
          *x = silc_calloc(len2 + 1, sizeof(unsigned char));
          memcpy(*x, src->data, len2);
        }
@@ -312,7 +312,7 @@ int silc_buffer_unformat(SilcBuffer src, ...)
        HAS_SPACE(src, len2);
        if (len)
          *len = len2;
-       if (x) {
+       if (x && len2) {
          *x = silc_calloc(len2 + 1, sizeof(unsigned char));
          memcpy(*x, src->data, len2);
        }