Fix OSS-Fuzz issue 16249
This removes an exit() during fuzzing which prevents fuzz progress.
Signed-off-by: Tim Rühsen <tim.ruehsen@gmx.de>
diff --git a/lib/ASN1.y b/lib/ASN1.y
index bada671..615d902 100644
--- a/lib/ASN1.y
+++ b/lib/ASN1.y
@@ -53,6 +53,9 @@
static void _asn1_yyerror (const char *);
static int _asn1_yylex(void);
+#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+#define SAFE_COPY(dst, dst_size, fmt, ...) { snprintf(dst, dst_size, fmt, __VA_ARGS__); }
+#else
#define SAFE_COPY(dst, dst_size, fmt, ...) { \
int _ret = snprintf(dst, dst_size, fmt, __VA_ARGS__); \
if (_ret != (int)strlen(dst)) \
@@ -62,6 +65,7 @@
exit(1); \
} \
}
+#endif
%}
/* Prefix symbols and functions with _asn1_ */