MT#59962 Coverity Scan: Division or modulo by float zero (AmAudio)

Fixes:

    Division or modulo by float zero (DIVIDE_BY_ZERO).
    divide_by_zero: In function call resampleOutput,
    division by expression mixer_sample_rate which may be zero has undefined behavior.

Change-Id: I7f7b8738eb643499dfbf5e830f3904c62ed02b45
mr13.3.1
Donat Zenichev 1 year ago
parent 204a335230
commit 22eea89e93

@ -469,6 +469,9 @@ unsigned int AmAudio::resampleOutput(unsigned char* buffer, unsigned int s, int
unsigned int AmAudio::resample(AmResamplingState& rstate, unsigned char* buffer, unsigned int s, int input_sample_rate, int output_sample_rate)
{
if (!input_sample_rate)
return 0;
return rstate.resample((unsigned char*) buffer, s, ((double) output_sample_rate) / ((double) input_sample_rate));
}

@ -97,7 +97,7 @@ int AmConferenceChannel::get(unsigned long long system_ts, unsigned char* buffer
size = resampleOutput(buffer,size,mixer_sample_rate,output_sample_rate);
mixer->unlock();
return size;
return size; /* will be zero if `mixer_sample_rate` isn't set */
}
ChannelWritingFile::ChannelWritingFile(const char* path)

Loading…
Cancel
Save