Backpatch to 8.0.X:
Bruce Momjian <bruce@momjian.us>
Backpatch to 8.0.X: In several places PL/Python was calling PyObject_Str() and then PyString_AsString() without checking if the former had returned NULL to indicate an error. PyString_AsString() doesn't expect a NULL argument, so passing one causes a segmentation fault. This patch adds checks for NULL and raises errors via PLy_elog(), which prints details of the underlying Python exception. The patch also adds regression tests for these checks. All tests pass on my Solaris 9 box running HEAD and Python 2.4.1.
Files
| Path | Change | +/− |
|---|---|---|
| src/pl/plpython/plpython.c | modified | +18 −3 |