From 60b12263ac96b81e78631ac1482733749b484d76 Mon Sep 17 00:00:00 2001 From: Tristan Matthews <tristan.matthews@savoirfairelinux.com> Date: Fri, 27 Apr 2012 18:20:14 -0400 Subject: [PATCH] * #9979: Don't do runtime assertions on data. --- daemon/src/audio/audiortp/audio_rtp_record_handler.cpp | 1 + daemon/src/audio/audiortp/audio_rtp_session.cpp | 2 +- daemon/src/audio/codecs/alaw.cpp | 5 +---- daemon/src/audio/codecs/g722.cpp | 7 ++----- daemon/src/audio/codecs/gsmcodec.cpp | 4 ---- daemon/src/audio/codecs/speexcodec.h | 5 ++--- daemon/src/audio/codecs/ulaw.cpp | 5 +---- 7 files changed, 8 insertions(+), 21 deletions(-) diff --git a/daemon/src/audio/audiortp/audio_rtp_record_handler.cpp b/daemon/src/audio/audiortp/audio_rtp_record_handler.cpp index 2282f6cdac..69c293c358 100644 --- a/daemon/src/audio/audiortp/audio_rtp_record_handler.cpp +++ b/daemon/src/audio/audiortp/audio_rtp_record_handler.cpp @@ -171,6 +171,7 @@ void AudioRtpRecordHandler::processDataDecode(unsigned char *spkrData, size_t si return; int inSamples = 0; + size = std::min(size, audioRtpRecord_.decData_.size()); SFLDataFormat *spkrDataDecoded = audioRtpRecord_.decData_.data(); { ost::MutexLock lock(audioRtpRecord_.audioCodecMutex_); diff --git a/daemon/src/audio/audiortp/audio_rtp_session.cpp b/daemon/src/audio/audiortp/audio_rtp_session.cpp index b0464cae86..5f4901048c 100644 --- a/daemon/src/audio/audiortp/audio_rtp_session.cpp +++ b/daemon/src/audio/audiortp/audio_rtp_session.cpp @@ -156,7 +156,7 @@ void AudioRtpSession::receiveSpeakerData() return; unsigned char* spkrDataIn = (unsigned char*) adu->getData(); // data in char - unsigned int size = adu->getSize(); // size in char + size_t size = adu->getSize(); // size in char // DTMF over RTP, size must be over 4 in order to process it as voice data if (size > 4) diff --git a/daemon/src/audio/codecs/alaw.cpp b/daemon/src/audio/codecs/alaw.cpp index 39c6a6e655..7b7ffdd378 100644 --- a/daemon/src/audio/codecs/alaw.cpp +++ b/daemon/src/audio/codecs/alaw.cpp @@ -31,7 +31,6 @@ #include "sfl_types.h" #include "audiocodec.h" -#include <cassert> class Alaw : public sfl::AudioCodec { @@ -48,16 +47,14 @@ class Alaw : public sfl::AudioCodec { private: virtual int decode(SFLDataFormat *dst, unsigned char *src, size_t buf_size) { - assert(buf_size == frameSize_ / 2 /* compression factor = 2:1 */ * sizeof(SFLDataFormat)); for (unsigned char* end = src + buf_size; src < end; ++src, ++dst) *dst = ALawDecode(*src); return frameSize_; } - virtual int encode(unsigned char *dst, SFLDataFormat *src, size_t buf_size) + virtual int encode(unsigned char *dst, SFLDataFormat *src, size_t /*buf_size*/) { - assert(buf_size >= frameSize_ / 2 /* compression factor = 2:1 */ * sizeof(SFLDataFormat)); for (unsigned char *end = dst + frameSize_; dst < end; ++src, ++dst) *dst = ALawEncode(*src); diff --git a/daemon/src/audio/codecs/g722.cpp b/daemon/src/audio/codecs/g722.cpp index 1048db7f5c..b452ff3653 100644 --- a/daemon/src/audio/codecs/g722.cpp +++ b/daemon/src/audio/codecs/g722.cpp @@ -36,7 +36,6 @@ #include <cstdlib> #include <cstring> -#include <cassert> class G722 : public sfl::AudioCodec { @@ -55,14 +54,12 @@ class G722 : public sfl::AudioCodec { private: virtual int decode(SFLDataFormat *dst, unsigned char *src, size_t buf_size) { - assert(buf_size == frameSize_ / sizeof(SFLDataFormat) * encode_state_.bits_per_sample / 8); - return g722_decode(dst, (const uint8_t*) src, buf_size); + return g722_decode(dst, src, buf_size); } virtual int encode(unsigned char *dst, SFLDataFormat *src, size_t buf_size) { - int out = g722_encode((uint8_t*) dst, src, frameSize_); - assert((size_t) out <= buf_size); + int out = g722_encode(dst, src, frameSize_); return out; } diff --git a/daemon/src/audio/codecs/gsmcodec.cpp b/daemon/src/audio/codecs/gsmcodec.cpp index 7c1e68c22f..5d7afe24fb 100644 --- a/daemon/src/audio/codecs/gsmcodec.cpp +++ b/daemon/src/audio/codecs/gsmcodec.cpp @@ -33,7 +33,6 @@ #include "audiocodec.h" #include "sfl_types.h" #include "noncopyable.h" -#include <cassert> #include <stdexcept> extern "C" { @@ -70,8 +69,6 @@ class Gsm : public sfl::AudioCodec { virtual int decode(SFLDataFormat * dst, unsigned char * src, size_t buf_size) { - assert(buf_size == 33); - if (gsm_decode(decode_gsmhandle_, (gsm_byte*) src, (gsm_signal*) dst) < 0) throw std::runtime_error("ERROR: gsm_decode\n"); @@ -80,7 +77,6 @@ class Gsm : public sfl::AudioCodec { virtual int encode(unsigned char * dst, SFLDataFormat * src, size_t buf_size) { - assert(buf_size >= 33); gsm_encode(encode_gsmhandle_, (gsm_signal*) src, (gsm_byte*) dst); return 33; } diff --git a/daemon/src/audio/codecs/speexcodec.h b/daemon/src/audio/codecs/speexcodec.h index 7b53fcdce2..20727a830e 100644 --- a/daemon/src/audio/codecs/speexcodec.h +++ b/daemon/src/audio/codecs/speexcodec.h @@ -32,7 +32,6 @@ #include "global.h" #include "audiocodec.h" #include "noncopyable.h" -#include <cstdio> #include <speex/speex.h> #include <cassert> @@ -71,8 +70,8 @@ class Speex : public sfl::AudioCodec { speex_frame_size_(0) { assert(payload >= 110 && payload <= 112); assert(110 == PAYLOAD_CODEC_SPEEX_8000 && - 111 == PAYLOAD_CODEC_SPEEX_16000 && - 112 == PAYLOAD_CODEC_SPEEX_32000); + 111 == PAYLOAD_CODEC_SPEEX_16000 && + 112 == PAYLOAD_CODEC_SPEEX_32000); int type = payload - 110; clockRate_ = clockRate[type]; diff --git a/daemon/src/audio/codecs/ulaw.cpp b/daemon/src/audio/codecs/ulaw.cpp index 2c2ea5a7ae..51448e6999 100644 --- a/daemon/src/audio/codecs/ulaw.cpp +++ b/daemon/src/audio/codecs/ulaw.cpp @@ -31,7 +31,6 @@ #include "audiocodec.h" #include "sfl_types.h" -#include <cassert> class Ulaw : public sfl::AudioCodec { public: @@ -45,7 +44,6 @@ class Ulaw : public sfl::AudioCodec { } virtual int decode(SFLDataFormat *dst, unsigned char *src, size_t buf_size) { - assert(buf_size == frameSize_ / 2 /* compression factor = 2:1 */ * sizeof(SFLDataFormat)); for (unsigned char* end = src + buf_size; src < end; ++src, ++dst) *dst = ULawDecode(*src); @@ -53,8 +51,7 @@ class Ulaw : public sfl::AudioCodec { } virtual int encode(unsigned char *dst, SFLDataFormat *src, size_t buf_size) { - assert(buf_size >= frameSize_ / 2 /* compression factor = 2:1 */ * sizeof(SFLDataFormat)); - for (uint8* end = dst + frameSize_; dst < end; ++src, ++dst) + for (unsigned char * end = dst + frameSize_; dst < end; ++src, ++dst) *dst = ULawEncode(*src); return frameSize_ / 2 /* compression factor = 2:1 */ * sizeof(SFLDataFormat);; -- GitLab