undo: exit early if no event in RemoveEvent()

To avoid dereferencing a null pointer.

Found by Coverity.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2024-08-17 22:04:34 +02:00 committed by bstoeger
parent d295ca1d17
commit 01705a6449

View file

@ -120,8 +120,10 @@ RemoveEvent::RemoveEvent(struct dive *d, int dcNr, int idxIn) : EventBase(d, dcN
{
struct divecomputer *dc = d->get_dc(dcNr);
event *ev = get_event(dc, idx);
if (!ev)
if (!ev) {
idx = -1;
return;
}
if (ev->type == SAMPLE_EVENT_GASCHANGE2 || ev->type == SAMPLE_EVENT_GASCHANGE)
cylinder = ev->gas.index;
setText(Command::Base::tr("Remove %1 event").arg(ev->name.c_str()));