mirror of
https://github.com/netbirdio/IronRDP.git
synced 2026-05-22 18:43:12 -07:00
Fix an integer overflow in ber read_enumerated
`enumerated + 1` can overflow if enumerated is equal to UINT_MAX.
This commit is contained in:
+1
-1
@@ -149,7 +149,7 @@ pub fn read_enumerated(mut stream: impl io::Read, count: u8) -> io::Result<u8> {
|
||||
}
|
||||
|
||||
let enumerated = stream.read_u8()?;
|
||||
if enumerated + 1 > count {
|
||||
if enumerated == std::u8::MAX || enumerated + 1 > count {
|
||||
return Err(io::Error::new(
|
||||
io::ErrorKind::InvalidData,
|
||||
"invalid enumerated value",
|
||||
|
||||
Reference in New Issue
Block a user