Abort on corruption_detected error
Change-Id: Ie812fb519107aef5cd51304252de10394c07a552
diff --git a/lib/common/error_private.c b/lib/common/error_private.c
index 7c1bb67..4b8fbf6 100644
--- a/lib/common/error_private.c
+++ b/lib/common/error_private.c
@@ -12,6 +12,15 @@
#include "error_private.h"
+#include <stdlib.h>
+
+size_t ZSTD_ERROR(ZSTD_ErrorCode code) {
+ if (code == ZSTD_error_corruption_detected) {
+ abort();
+ }
+ return (size_t)(-code);
+}
+
const char* ERR_getErrorString(ERR_enum code)
{
#ifdef ZSTD_STRIP_ERROR_STRINGS
diff --git a/lib/common/error_private.h b/lib/common/error_private.h
index 0d2fa7e..1abaf5d 100644
--- a/lib/common/error_private.h
+++ b/lib/common/error_private.h
@@ -50,8 +50,11 @@
* Error codes handling
******************************************/
#undef ERROR /* reported already defined on VS 2015 (Rich Geldreich) */
-#define ERROR(name) ZSTD_ERROR(name)
-#define ZSTD_ERROR(name) ((size_t)-PREFIX(name))
+#define ERROR(name) ZSTD_ERROR(PREFIX(name))
+
+size_t ZSTD_ERROR(ZSTD_ErrorCode code);
+
+// #define ZSTD_ERROR(name) ((size_t)-PREFIX(name))
ERR_STATIC unsigned ERR_isError(size_t code) { return (code > ERROR(maxCode)); }