fix a couple bugs found by OSS-fuzz

- index out of bounds when importing outputs
- accessing invalid CLSAG data
This commit is contained in:
moneromooo-monero 2020-09-24 15:16:44 +00:00
parent d27d4526fe
commit 9e6187a736
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3
2 changed files with 8 additions and 0 deletions

View file

@ -368,6 +368,12 @@ namespace rct {
template<bool W, template <bool> class Archive>
bool serialize_rctsig_prunable(Archive<W> &ar, uint8_t type, size_t inputs, size_t outputs, size_t mixin)
{
if (inputs >= 0xffffffff)
return false;
if (outputs >= 0xffffffff)
return false;
if (mixin >= 0xffffffff)
return false;
if (type == RCTTypeNull)
return ar.stream().good();
if (type != RCTTypeFull && type != RCTTypeSimple && type != RCTTypeBulletproof && type != RCTTypeBulletproof2 && type != RCTTypeCLSAG)