diff --git a/core/Integer.cc b/core/Integer.cc index 1301fae04ca553d91451ca17139327ac6cb97db3..5bb5217caba995723c8d81f86a07b932bac7d2a5 100644 --- a/core/Integer.cc +++ b/core/Integer.cc @@ -1132,8 +1132,7 @@ int INTEGER::RAW_encode(const TTCN_Typedescriptor_t& p_td, RAW_enc_tree& myleaf) value = 0; neg_sgbit = FALSE; } - if (value != 0 && value == -value) { - // value == -INT_MAX-1 a.k.a. INT_MIN a.k.a. 0x8000.... + if (value == INT_MIN) { INTEGER big_value(to_openssl(val.native)); // too big for native return big_value.RAW_encode_openssl(p_td, myleaf); } diff --git a/function_test/RAW_EncDec/RAW_EncDec_TD.fast_script b/function_test/RAW_EncDec/RAW_EncDec_TD.fast_script index 560c4861e63339ca1e53f789d09ba42c171d26a6..2499997bd24a0806125a7c4b97a47e84adbc9b14 100644 --- a/function_test/RAW_EncDec/RAW_EncDec_TD.fast_script +++ b/function_test/RAW_EncDec/RAW_EncDec_TD.fast_script @@ -2679,7 +2679,7 @@ testcase TC_record_with_EXTENSION_BIT_5() runs on TempComp{ if ((enc_RAW_PDU_127(i) == o)and(dec_RAW_PDU_127(o) == i )) {setverdict(pass);} - else {setverdict(fail,"enc_RAW_PDU_127(i)= ", enc_RAW_PDU_127(i), "; dec_RAW_PDU_127(o)= ", dec_RAW_PDU_127(o));}} + else {setverdict(fail,"enc_RAW_PDU_127(i)= ", enc_RAW_PDU_127(i), "; dec_RAW_PDU_127(o)= ", dec_RAW_PDU_127(o));} } // Test of record with EXTENSION_BIT 6