aboutsummaryrefslogtreecommitdiffstats
path: root/lib/snmp/src/misc/snmp_pdus.erl
diff options
context:
space:
mode:
authorMicael Karlberg <[email protected]>2011-05-11 12:11:57 +0200
committerMicael Karlberg <[email protected]>2011-05-11 12:11:57 +0200
commit4dde37d7d40d213ba052a4f6c18b7c257bf93960 (patch)
tree0c0249721c553720bde8840f3d0001c892e41767 /lib/snmp/src/misc/snmp_pdus.erl
parent5b15b32e2d1aec2716c58879f0ada02557c757f5 (diff)
downloadotp-4dde37d7d40d213ba052a4f6c18b7c257bf93960.tar.gz
otp-4dde37d7d40d213ba052a4f6c18b7c257bf93960.tar.bz2
otp-4dde37d7d40d213ba052a4f6c18b7c257bf93960.zip
Release notes, test case and some minor decode fixes
(allow only 32 bit values when decoding).
Diffstat (limited to 'lib/snmp/src/misc/snmp_pdus.erl')
-rw-r--r--lib/snmp/src/misc/snmp_pdus.erl11
1 files changed, 2 insertions, 9 deletions
diff --git a/lib/snmp/src/misc/snmp_pdus.erl b/lib/snmp/src/misc/snmp_pdus.erl
index 9c273bc0e0..213d0226b1 100644
--- a/lib/snmp/src/misc/snmp_pdus.erl
+++ b/lib/snmp/src/misc/snmp_pdus.erl
@@ -268,14 +268,6 @@ dec_value([4 | Bytes]) ->
dec_value([64 | Bytes]) ->
{Value, Rest} = dec_oct_str_notag(Bytes),
{{'IpAddress', Value}, Rest};
-%% dec_value([65 | Bytes]) ->
-%% {Value, Rest} = dec_integer_notag(Bytes),
-%% if
-%% (Value >= 0) andalso (Value =< 4294967295) ->
-%% {{'Counter32', Value}, Rest};
-%% true ->
-%% exit({error, {bad_counter32, Value}})
-%% end;
dec_value([65 | Bytes]) ->
%% Counter32 is an unsigned 32 but is actually encoded as
%% a signed integer 32 (INTEGER).
@@ -284,12 +276,13 @@ dec_value([65 | Bytes]) ->
if
(Value >= 0) andalso (Value =< 16#ffffffff) ->
%% We accept value above 16#7fffffff
+ %% in order to be backward bug-compatible
Value;
(Value < 0) ->
16#ffffffff + Value + 1;
true ->
exit({error, {bad_counter32, Value}}) end,
- {{'Counter64', Value2}, Rest};
+ {{'Counter32', Value2}, Rest};
dec_value([66 | Bytes]) ->
{Value, Rest} = dec_integer_notag(Bytes),
if