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)); }