From a98c35e2caac939353df8e205d3c0fdfeacf3b19 Mon Sep 17 00:00:00 2001 From: sh123 Date: Sun, 31 Jul 2022 23:33:54 +0300 Subject: [PATCH] Fix memory corruption --- .../java/com/radio/codec2talkie/transport/SoundModem.java | 6 ++---- libcodec2-android/src/main/cpp/Codec2JNI.cpp | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/codec2talkie/src/main/java/com/radio/codec2talkie/transport/SoundModem.java b/codec2talkie/src/main/java/com/radio/codec2talkie/transport/SoundModem.java index 428695c..2f0a281 100644 --- a/codec2talkie/src/main/java/com/radio/codec2talkie/transport/SoundModem.java +++ b/codec2talkie/src/main/java/com/radio/codec2talkie/transport/SoundModem.java @@ -111,16 +111,14 @@ public class SoundModem implements Transport { @Override public int write(byte[] srcDataBytesAsBits) throws IOException { - //Log.i(TAG, DebugTools.byteBitsToString(srcDataBytesAsBits)); + Log.i(TAG, DebugTools.byteBitsToString(srcDataBytesAsBits)); byte[] dataBytesAsBits = BitTools.convertToNRZI(srcDataBytesAsBits); - //Log.i(TAG, DebugTools.byteBitsToString(dataBytesAsBits)); + Log.i(TAG, DebugTools.byteBitsToString(dataBytesAsBits)); int j = 0; for (int i = 0; i < dataBytesAsBits.length; i++, j++) { if (j >= _playbackBitBuffer.length) { - //Log.i(TAG, DebugTools.byteBitsToString(_playbackBitBuffer)); Codec2.fskModulate(_fskModem, _playbackAudioBuffer, _playbackBitBuffer); - //Log.i(TAG, DebugTools.shortsToHex(_playbackAudioBuffer)); _systemAudioPlayer.write(_playbackAudioBuffer, 0, _playbackAudioBuffer.length); _systemAudioPlayer.play(); j = 0; diff --git a/libcodec2-android/src/main/cpp/Codec2JNI.cpp b/libcodec2-android/src/main/cpp/Codec2JNI.cpp index ee9be26..cd1c76e 100644 --- a/libcodec2-android/src/main/cpp/Codec2JNI.cpp +++ b/libcodec2-android/src/main/cpp/Codec2JNI.cpp @@ -67,7 +67,7 @@ namespace Java_com_ustadmobile_codec2_Codec2 { conFsk->N = fsk->N; conFsk->Ts = fsk->Ts; - conFsk->modBuf = (float*)malloc(conFsk->N); + conFsk->modBuf = (float*)malloc(sizeof(float) * conFsk->N); conFsk->modBits = (uint8_t*)malloc(conFsk->Nbits); conFsk->demodCBuf = (COMP*)malloc(sizeof(COMP) * (fsk->N + 2 * fsk->Ts));