You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
if ((decoded_address < 0) || (decoded_address > here_address)) {
Here, the expression (decoded_address > here_address) should be replaced by (decoded_address >= here_address). Otherwise, if decoded_address == here_address, you'll go into an infinite loop here:
In vcdecoder.cc, there is a check to see if the copy address falls within the decoded buffer:
open-vcdiff/src/vcdecoder.cc
Line 1194 in 868f459
Here, the expression
(decoded_address > here_address)
should be replaced by(decoded_address >= here_address)
. Otherwise, ifdecoded_address == here_address
, you'll go into an infinite loop here:open-vcdiff/src/vcdecoder.cc
Lines 1221 to 1228 in 868f459
This isn't a problem in practice, because VCDiffAddressCache already validates the returned address (correctly, this time):
open-vcdiff/src/addrcache.cc
Line 217 in 868f459
So the check in vcdecoder.cc should be unnecessary. Still, if it's kept, it should be correct.
The text was updated successfully, but these errors were encountered: