Coverity-found bug: don't use temp->next *before* checking it for NULL. Also
return rather than use it again.
diff --git a/Modules/_curses_panel.c b/Modules/_curses_panel.c
index c3f313a..0acf3fd 100644
--- a/Modules/_curses_panel.c
+++ b/Modules/_curses_panel.c
@@ -111,10 +111,12 @@
free(temp);
return;
}
- while (temp->next->po != po) {
- if (temp->next == NULL)
+ while (temp->next == NULL || temp->next->po != po) {
+ if (temp->next == NULL) {
PyErr_SetString(PyExc_RuntimeError,
"remove_lop: can't find Panel Object");
+ return;
+ }
temp = temp->next;
}
n = temp->next->next;