Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Michael Telatynski
Olm
Commits
351b26fa
Commit
351b26fa
authored
Oct 19, 2016
by
Richard van der Hoff
Committed by
GitHub
Oct 19, 2016
Browse files
Merge pull request #28 from matrix-org/rav/fix_megolm_segfault
Fix a buffer bounds check when decoding group messages
parents
780203b0
1ff64391
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/message.cpp
View file @
351b26fa
...
...
@@ -214,11 +214,13 @@ void olm::decode_message(
reader
.
ciphertext
=
nullptr
;
reader
.
ciphertext_length
=
0
;
if
(
pos
==
end
)
return
;
if
(
input_length
<
mac_length
)
return
;
if
(
pos
==
end
)
return
;
reader
.
version
=
*
(
pos
++
);
while
(
pos
!=
end
)
{
unknown
=
pos
;
pos
=
decode
(
pos
,
end
,
RATCHET_KEY_TAG
,
reader
.
ratchet_key
,
reader
.
ratchet_key_length
...
...
@@ -234,7 +236,6 @@ void olm::decode_message(
if
(
unknown
==
pos
)
{
pos
=
skip_unknown
(
pos
,
end
);
}
unknown
=
pos
;
}
}
...
...
@@ -303,6 +304,7 @@ void olm::decode_one_time_key_message(
reader
.
version
=
*
(
pos
++
);
while
(
pos
!=
end
)
{
unknown
=
pos
;
pos
=
decode
(
pos
,
end
,
ONE_TIME_KEY_ID_TAG
,
reader
.
one_time_key
,
reader
.
one_time_key_length
...
...
@@ -322,7 +324,6 @@ void olm::decode_one_time_key_message(
if
(
unknown
==
pos
)
{
pos
=
skip_unknown
(
pos
,
end
);
}
unknown
=
pos
;
}
}
...
...
@@ -377,9 +378,12 @@ void _olm_decode_group_message(
results
->
ciphertext_length
=
0
;
if
(
input_length
<
trailer_length
)
return
;
if
(
pos
==
end
)
return
;
results
->
version
=
*
(
pos
++
);
while
(
pos
!=
end
)
{
unknown
=
pos
;
pos
=
decode
(
pos
,
end
,
GROUP_MESSAGE_INDEX_TAG
,
results
->
message_index
,
has_message_index
...
...
@@ -391,7 +395,6 @@ void _olm_decode_group_message(
if
(
unknown
==
pos
)
{
pos
=
skip_unknown
(
pos
,
end
);
}
unknown
=
pos
;
}
results
->
has_message_index
=
(
int
)
has_message_index
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment