diff --git a/lib/ChangeLog b/lib/ChangeLog
index 01f45ba..00ba44e 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,13 @@
+2006-09-26 Pierre-Yves Ritschard <pierre-yves@spootnik.org>
+
+	* smux.c: (smux_open,smux_trap,smux_register) Fix various
+	  asn_build_* calls to pass the proper length in the final
+	  argument: use sizeof(<variable>) instead of sizeof(<type>),
+	  since there were several inconsistencies between the actual
+	  variable type and the size that was passed.  This should
+	  fix some problems on 64-bit architectures where sizeof(int)
+	  != sizeof(long).
+
 2006-08-25 Paul Jakma <paul.jakma@sun.com>
 
 	* thread.c: (general) Add support for monotonic clock, it may still
diff --git a/lib/smux.c b/lib/smux.c
index c9b7a88..1bec120 100644
--- a/lib/smux.c
+++ b/lib/smux.c
@@ -963,7 +963,7 @@
   version = 0;
   ptr = asn_build_int (ptr, &len, 
 		       (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_INTEGER),
-		       &version, sizeof (u_long));
+		       &version, sizeof (version));
 
   /* SMUX connection oid. */
   ptr = asn_build_objid (ptr, &len,
@@ -1026,25 +1026,25 @@
   ptr = asn_build_string (ptr, &len, 
 			  (u_char)
 			  (ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_IPADDRESS),
-			  (u_char *)&addr, sizeof (struct in_addr));
+			  (u_char *)&addr, sizeof (addr));
 
   /* Generic trap integer. */
   val = SNMP_TRAP_ENTERPRISESPECIFIC;
   ptr = asn_build_int (ptr, &len, 
 		       (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_INTEGER),
-		       &val, sizeof (int));
+		       &val, sizeof (val));
 
   /* Specific trap integer. */
   val = sptrap;
   ptr = asn_build_int (ptr, &len, 
 		       (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_INTEGER),
-		       &val, sizeof (int));
+		       &val, sizeof (val));
 
   /* Timeticks timestamp. */
   val = 0;
   ptr = asn_build_unsigned_int (ptr, &len, 
 				(u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_TIMETICKS),
-				&val, sizeof (int));
+				&val, sizeof (val));
   
   /* Variables. */
   h1 = ptr;
@@ -1148,13 +1148,13 @@
       priority = -1;
       ptr = asn_build_int (ptr, &len, 
 		          (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_INTEGER),
-		          &priority, sizeof (u_long));
+		          &priority, sizeof (priority));
 
       /* Operation. */
       operation = 2; /* Register R/W */
       ptr = asn_build_int (ptr, &len, 
 		          (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_INTEGER),
-		          &operation, sizeof (u_long));
+		          &operation, sizeof (operation));
 
       if (debug_smux)
         {
