Преглед изворни кода

EVP_DecryptFinal_ex: fix check for return value

seems like the current docs were updated.
was "positive return code".
now specifically mentions 0 and 1.
Thomas Waldmann пре 3 година
родитељ
комит
ccf0875053
1 измењених фајлова са 2 додато и 2 уклоњено
  1. 2 2
      src/borg/crypto/low_level.pyx

+ 2 - 2
src/borg/crypto/low_level.pyx

@@ -313,7 +313,7 @@ cdef class AES256_CTR_BASE:
                                      ilen-hlen-self.mac_len-self.iv_len_short):
                 raise CryptoError('EVP_DecryptUpdate failed')
             offset += olen
-            if EVP_DecryptFinal_ex(self.ctx, odata+offset, &olen) <= 0:
+            if not EVP_DecryptFinal_ex(self.ctx, odata+offset, &olen):
                 raise CryptoError('EVP_DecryptFinal_ex failed')
             offset += olen
             self.blocks += self.block_count(offset)
@@ -705,7 +705,7 @@ cdef class AES:
             if not EVP_DecryptUpdate(self.ctx, odata, &olen, <const unsigned char*> idata.buf, ilen):
                 raise Exception('EVP_DecryptUpdate failed')
             offset += olen
-            if EVP_DecryptFinal_ex(self.ctx, odata+offset, &olen) <= 0:
+            if not EVP_DecryptFinal_ex(self.ctx, odata+offset, &olen):
                 # this error check is very important for modes with padding or
                 # authentication. for them, a failure here means corrupted data.
                 # CTR mode does not use padding nor authentication.