easier fix for sanitization (by @velichkov)
diff --git a/skeletons/NativeEnumerated_oer.c b/skeletons/NativeEnumerated_oer.c
index 9f564bc..f1eca86 100644
--- a/skeletons/NativeEnumerated_oer.c
+++ b/skeletons/NativeEnumerated_oer.c
@@ -9,18 +9,14 @@
#include <NativeEnumerated.h>
#include <errno.h>
-/*
- * This function is only to get rid of Undefined Behavior Sanitizer warning.
- */
-static intmax_t CC_ATTR_NO_SANITIZE("shift-base")
-asn__safe_nativeenumerated_convert_helper(const uint8_t *b,
- const uint8_t *end) {
- intmax_t value;
+static intmax_t
+asn__nativeenumerated_convert(const uint8_t *b, const uint8_t *end) {
+ uintmax_t value;
/* Perform the sign initialization */
/* Actually value = -(*b >> 7); gains nothing, yet unreadable! */
if((*b >> 7)) {
- value = -1;
+ value = (uintmax_t)(-1);
} else {
value = 0;
}
@@ -77,7 +73,7 @@
b++;
bend = b + length;
- value = asn__safe_nativeenumerated_convert_helper(b, bend);
+ value = asn__nativeenumerated_convert(b, bend);
if(value < 0) {
const asn_INTEGER_specifics_t *specs =
(const asn_INTEGER_specifics_t *)td->specifics;