No unaligned access to pointers.
authorPekka Riikonen <priikone@silcnet.org>
Wed, 23 Oct 2002 15:34:23 +0000 (15:34 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Wed, 23 Oct 2002 15:34:23 +0000 (15:34 +0000)
lib/silccore/silcattrs.c

index 2e64777176ea5bd847758c49e6c56a71c9dfe53c..3ce8109aa3902602a2b4ed7cbdccdd379c9cfdac 100644 (file)
@@ -245,6 +245,7 @@ SilcAttributePayload silc_attribute_payload_alloc(SilcAttribute attribute,
                                                  SilcUInt32 object_size)
 {
   SilcAttributePayload attr;
+  SilcUInt32 tmp_len;
 
   attr = silc_calloc(1, sizeof(*attr));
   if (!attr)
@@ -254,8 +255,8 @@ SilcAttributePayload silc_attribute_payload_alloc(SilcAttribute attribute,
   attr->flags = flags;
   attr->data =
     silc_attribute_payload_encode_int(attribute, flags, object,
-                                     object_size,
-                                     (SilcUInt32 *)&attr->data_len);
+                                     object_size, &tmp_len);
+  attr->data_len = (SilcUInt32)tmp_len;
   if (!attr->data) {
     silc_free(attr);
     return NULL;
@@ -401,7 +402,7 @@ const unsigned char *silc_attribute_get_data(SilcAttributePayload payload,
                                             SilcUInt32 *data_len)
 {
   if (data_len)
-    *data_len = payload->data_len;
+    *data_len = (SilcUInt32)payload->data_len;
   return (const unsigned char *)payload->data;
 }