prevent IndexDefect when no parity data

This commit is contained in:
Eric 2024-06-11 13:45:02 +10:00
parent 3cff0d3a26
commit 2910b0434b
No known key found for this signature in database

View File

@ -142,15 +142,18 @@ func decode*(
else: else:
parityPtr[i] = nil parityPtr[i] = nil
let let res =
res = leoDecode( if dataPtr.len == 0 or parityPtr.len == 0 or self.decodeBufferPtr.len == 0:
self.bufSize.culonglong, LeopardInvalidInput
self.buffers.cuint, else:
self.parity.cuint, leoDecode(
self.decodeBufferCount.cuint, self.bufSize.culonglong,
cast[ptr pointer](addr dataPtr[0]), self.buffers.cuint,
cast[ptr pointer](addr parityPtr[0]), self.parity.cuint,
cast[ptr pointer](addr self.decodeBufferPtr[0])) self.decodeBufferCount.cuint,
cast[ptr pointer](addr dataPtr[0]),
cast[ptr pointer](addr parityPtr[0]),
cast[ptr pointer](addr self.decodeBufferPtr[0]))
if ord(res) != ord(LeopardSuccess): if ord(res) != ord(LeopardSuccess):
return err(leoResultString(res.LeopardResult)) return err(leoResultString(res.LeopardResult))