mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-03 02:22:48 +00:00
[snmp] Fix asn_build calls to pass correct variable sizes (fixes 64-bit issues)
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).
This commit is contained in:
parent
08c8367197
commit
965b83f9cc
@ -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
|
||||
|
14
lib/smux.c
14
lib/smux.c
@ -963,7 +963,7 @@ smux_open (int sock)
|
||||
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 @@ smux_trap (oid *name, size_t namelen,
|
||||
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 @@ smux_register (int sock)
|
||||
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)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user