1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-07-26 20:14:19 -04:00

RadioAstronomy: Guard aganst null FFT measurement

RadioAstronomyGUI::spectrumSeries_clicked() called
calcVrAndDistanceToPeak() without verifying that currentFFT() returned a
valid FFTMeasurement. Since currentFFT() can return nullptr and
calcVrAndDistanceToPeak() immediately dereferences the pointer, this could
result in a null pointer dereference.

Guard the calls so they are only made when a valid FFT measurement is
available, matching the existing pattern used elsewhere in the class.

Reported by Coverity (CID 649213).

Signed-off-by: Robin Getz <rgetz503@gmail.com>
This commit is contained in:
Robin Getz
2026-07-22 19:52:58 -04:00
parent 2d8182bef2
commit b44ff3ee00
@@ -5799,7 +5799,9 @@ void RadioAstronomyGUI::spectrumSeries_clicked(const QPointF &point)
m_spectrumM1Valid = true;
ui->spectrumMarkerTable->item(SPECTRUM_MARKER_ROW_M1, SPECTRUM_MARKER_COL_FREQ)->setData(Qt::DisplayRole, m_spectrumM1X);
ui->spectrumMarkerTable->item(SPECTRUM_MARKER_ROW_M1, SPECTRUM_MARKER_COL_VALUE)->setData(Qt::DisplayRole, m_spectrumM1Y);
calcVrAndDistanceToPeak(m_spectrumM1X*1e6, fft, SPECTRUM_MARKER_ROW_M1);
if (fft) {
calcVrAndDistanceToPeak(m_spectrumM1X*1e6, fft, SPECTRUM_MARKER_ROW_M1);
}
}
else if (selection == "M2")
{
@@ -5808,7 +5810,9 @@ void RadioAstronomyGUI::spectrumSeries_clicked(const QPointF &point)
m_spectrumM2Valid = true;
ui->spectrumMarkerTable->item(SPECTRUM_MARKER_ROW_M2, SPECTRUM_MARKER_COL_FREQ)->setData(Qt::DisplayRole, m_spectrumM2X);
ui->spectrumMarkerTable->item(SPECTRUM_MARKER_ROW_M2, SPECTRUM_MARKER_COL_VALUE)->setData(Qt::DisplayRole, m_spectrumM2Y);
calcVrAndDistanceToPeak(m_spectrumM2X*1e6, fft, SPECTRUM_MARKER_ROW_M2);
if (fft) {
calcVrAndDistanceToPeak(m_spectrumM2X*1e6, fft, SPECTRUM_MARKER_ROW_M2);
}
}
calcSpectrumMarkerDelta();