mirror of https://gerrit.osmocom.org/asn1c
remove undefined behavior sanitizer warnings
This commit is contained in:
parent
642b92f3fe
commit
9c57f33a0b
|
@ -577,8 +577,8 @@ asn_REAL2double(const REAL_t *st, double *dbl_value) {
|
|||
double m;
|
||||
int expval; /* exponent value */
|
||||
unsigned int elen; /* exponent value length, in octets */
|
||||
unsigned int scaleF;
|
||||
unsigned int baseF;
|
||||
int scaleF;
|
||||
int baseF;
|
||||
uint8_t *ptr;
|
||||
uint8_t *end;
|
||||
int sign;
|
||||
|
@ -754,8 +754,8 @@ asn_double2REAL(REAL_t *st, double dbl_value) {
|
|||
/* This loop ensures DER conformance by forcing mantissa odd: 11.3.1 */
|
||||
mval = *mstop;
|
||||
if(mval && !(mval & 1)) {
|
||||
unsigned int shift_count = 1;
|
||||
unsigned int ishift;
|
||||
int shift_count = 1;
|
||||
int ishift;
|
||||
uint8_t *mptr;
|
||||
|
||||
/*
|
||||
|
|
|
@ -345,8 +345,6 @@ check_ber_857_encoding(int base, int sign, int scaling_factor, int exponent, int
|
|||
|
||||
static void
|
||||
check_ber_encoding() {
|
||||
static const double zero = 0.0;
|
||||
|
||||
#define CHECK_BER_STRICT(v, nocan, can, inbuf, outbuf) \
|
||||
check_ber_buffer_twoway(v, nocan, can, inbuf, sizeof(inbuf), \
|
||||
outbuf, sizeof(outbuf), __LINE__)
|
||||
|
@ -382,9 +380,9 @@ check_ber_encoding() {
|
|||
{ uint8_t b_pinf[] = { 0x40 };
|
||||
uint8_t b_minf[] = { 0x41 };
|
||||
uint8_t b_nan[] = { 0x42 };
|
||||
CHECK_BER_STRICT(1.0/zero, "<PLUS-INFINITY/>", "<PLUS-INFINITY/>", b_pinf, b_pinf);
|
||||
CHECK_BER_STRICT(-1.0/zero, "<MINUS-INFINITY/>", "<MINUS-INFINITY/>", b_minf, b_minf);
|
||||
CHECK_BER_STRICT(zero/zero, "<NOT-A-NUMBER/>", "<NOT-A-NUMBER/>", b_nan, b_nan); }
|
||||
CHECK_BER_STRICT(INFINITY, "<PLUS-INFINITY/>", "<PLUS-INFINITY/>", b_pinf, b_pinf);
|
||||
CHECK_BER_STRICT(-INFINITY, "<MINUS-INFINITY/>", "<MINUS-INFINITY/>", b_minf, b_minf);
|
||||
CHECK_BER_STRICT(NAN, "<NOT-A-NUMBER/>", "<NOT-A-NUMBER/>", b_nan, b_nan); }
|
||||
|
||||
/* 8.5.6 b) => 8.5.8 Decimal encoding is used; NR1 form */
|
||||
{ uint8_t b_0_nr1[] = { 0x01, '0' };
|
||||
|
@ -618,16 +616,15 @@ check_ber_encoding() {
|
|||
int
|
||||
main() {
|
||||
REAL_t rn;
|
||||
static const double zero = 0.0;
|
||||
memset(&rn, 0, sizeof(rn));
|
||||
|
||||
check_ber_encoding();
|
||||
|
||||
check(&rn, 0.0, "0", "0");
|
||||
check(&rn, -0.0, "-0", "-0"); /* minus-zero */
|
||||
check(&rn, zero/zero, "<NOT-A-NUMBER/>", "<NOT-A-NUMBER/>");
|
||||
check(&rn, 1.0/zero, "<PLUS-INFINITY/>", "<PLUS-INFINITY/>");
|
||||
check(&rn, -1.0/zero, "<MINUS-INFINITY/>", "<MINUS-INFINITY/>");
|
||||
check(&rn, NAN, "<NOT-A-NUMBER/>", "<NOT-A-NUMBER/>");
|
||||
check(&rn, INFINITY, "<PLUS-INFINITY/>", "<PLUS-INFINITY/>");
|
||||
check(&rn, -INFINITY, "<MINUS-INFINITY/>", "<MINUS-INFINITY/>");
|
||||
check(&rn, 1.0, "1.0", "1.0E0");
|
||||
check(&rn, -1.0, "-1.0", "-1.0E0");
|
||||
check(&rn, 0.1, "0.1", "1.0E-1");
|
||||
|
|
Loading…
Reference in New Issue