diff --git a/src/outbound_group_session.c b/src/outbound_group_session.c index 6acad5a..4a251d0 100644 --- a/src/outbound_group_session.c +++ b/src/outbound_group_session.c @@ -103,12 +103,21 @@ size_t olm_pickle_outbound_group_session( return (size_t)-1; } +#ifndef OLM_FUZZING pos = _olm_enc_output_pos(pickled, raw_length); +#else + pos = pickled; +#endif + pos = _olm_pickle_uint32(pos, PICKLE_VERSION); pos = megolm_pickle(&(session->ratchet), pos); pos = _olm_pickle_ed25519_key_pair(pos, &(session->signing_key)); +#ifndef OLM_FUZZING return _olm_enc_output(key, key_length, pickled, raw_length); +#else + return raw_length; +#endif } size_t olm_unpickle_outbound_group_session( @@ -120,9 +129,14 @@ size_t olm_unpickle_outbound_group_session( const uint8_t *end; uint32_t pickle_version; +#ifndef OLM_FUZZING size_t raw_length = _olm_enc_input( key, key_length, pickled, pickled_length, &(session->last_error) ); +#else + size_t raw_length = pickled_length; +#endif + if (raw_length == (size_t)-1) { return raw_length; }