diff --git a/src/freedv_fsk.c b/src/freedv_fsk.c index 06132630..ea346c2d 100644 --- a/src/freedv_fsk.c +++ b/src/freedv_fsk.c @@ -123,7 +123,7 @@ void freedv_800xa_open(struct freedv *f) { f->bits_per_codec_frame = codec2_bits_per_frame(f->codec2); f->bits_per_modem_frame = f->n_codec_frames * f->bits_per_codec_frame; - int n_packed_bytes = (f->bits_per_modem_frame + 7) / 8; + int n_packed_bytes = (f->bits_per_modem_frame + 7.0) / 8.0 + 0.5; f->tx_payload_bits = MALLOC(n_packed_bytes); assert(f->tx_payload_bits != NULL); f->rx_payload_bits = MALLOC(n_packed_bytes); diff --git a/src/ofdm_demod.c b/src/ofdm_demod.c index 479cd6d5..4894ec36 100644 --- a/src/ofdm_demod.c +++ b/src/ofdm_demod.c @@ -489,7 +489,7 @@ int main(int argc, char *argv[]) { Npayloadsymsperpacket); float llr[Npayloadbitsperpacket]; - uint8_t out_char[Npayloadbitsperpacket]; + uint8_t out_char[ldpc.CodeLength]; if (testframes == true) { Nerrs_raw =