transceiver: Fix mismatched allocations and deallocations
The behaviour of a mismatched pair of allocation and deallocation is undefined Also fixes a memory leak if malloc fails (which stops the application anyway) Change-Id: I9c8bbade8531e8c9c02dcd43bac38cb954b3c89f
This commit is contained in:
parent
93ca09ea61
commit
9436fbbf3c
|
@ -80,8 +80,10 @@ bool ChannelizerBase::initFilters()
|
|||
return false;
|
||||
|
||||
subFilters = (float **) malloc(sizeof(float *) * m);
|
||||
if (!subFilters)
|
||||
if (!subFilters) {
|
||||
delete[] proto;
|
||||
return false;
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < m; i++) {
|
||||
subFilters[i] = (float *)
|
||||
|
@ -122,7 +124,7 @@ bool ChannelizerBase::initFilters()
|
|||
for (size_t i = 0; i < m; i++)
|
||||
reverse(subFilters[i], hLen);
|
||||
|
||||
delete proto;
|
||||
delete[] proto;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -61,7 +61,7 @@ bool Resampler::initFilters(float bw)
|
|||
|
||||
partitions = (float **) malloc(sizeof(float *) * p);
|
||||
if (!partitions) {
|
||||
free(proto);
|
||||
delete[] proto;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ RadioBuffer::RadioBuffer(size_t numSegments, size_t segmentLen,
|
|||
|
||||
RadioBuffer::~RadioBuffer()
|
||||
{
|
||||
delete buffer;
|
||||
delete[] buffer;
|
||||
}
|
||||
|
||||
void RadioBuffer::reset()
|
||||
|
|
Loading…
Reference in New Issue