Index: ext/libicpf/src/libicpf/crc32.cpp =================================================================== diff -u -N -rb337c059691a6940b52a86388ff427c734be8eb6 -r361d7f8b9268e18f39e298ea82425f7ddb24fb43 --- ext/libicpf/src/libicpf/crc32.cpp (.../crc32.cpp) (revision b337c059691a6940b52a86388ff427c734be8eb6) +++ ext/libicpf/src/libicpf/crc32.cpp (.../crc32.cpp) (revision 361d7f8b9268e18f39e298ea82425f7ddb24fb43) @@ -22,6 +22,8 @@ */ #include "crc32.h" +#include "err_codes.h" +#include "exception.h" #include #ifndef _WIN32 #include @@ -131,6 +133,9 @@ void crc32_begin(uint_t *puiValue) { assert(puiValue != NULL); + if(!puiValue) + THROW(_t("Invalid argument"), GE_INVALIDARG, 0, 0); + *puiValue=0xffffffff; } @@ -143,6 +148,8 @@ void crc32_partial(uint_t *puiPrev, const byte_t *pbyData, size_t tLen) { assert(puiPrev && pbyData); + if(!puiPrev || !pbyData) + THROW(_t("Invalid argument"), GE_INVALIDARG, 0, 0); for (size_t i=0;i