Conversation
|
Thank you for your contribution to Astropy! 🌌 This checklist is meant to remind the package maintainers who will review this pull request of some common things to look for.
|
|
If AI tools were used to develop this pull request, describe the tools including specific model and version, how they were used, and what content is AI generated. Also need change log and test. Make sure the test segfault without the patch but does not segfault with it. |
|
@Rob2688 please stop adding merge commits to this PR and instead work on resolving remaining asks. Thanks. |
|
Hello sorry for the confusion. I'm still new to all this contribution stuff. I changed the log and I'm trying to test. I'll get back to you as soon as possible. |
|
I've added the regression test to astropy/io/votable/tests/test_table.py as requested. All tests are passing and this PR is ready for final maintainer review. |
|
@Rob2688 can you rebase to get rid of the merge commit? |
0f356fe to
b8cea36
Compare
|
For change log, instructions at https://github.com/astropy/astropy/blob/main/docs/changes/README.rst . Thanks! |
df80087 to
201cc8f
Compare
|
@pllim Thank you for your review! I updated the test to use simple strings and added my changelog file |
| from astropy.utils.misc import _NOT_OVERWRITING_MSG_MATCH | ||
|
|
||
|
|
||
| def test_c_tabledata_writer_buffer_overflow(): |
There was a problem hiding this comment.
I am not sure if this test adds any value. It does not fail with astropy 8.0.1 without your proposed patch.
There was a problem hiding this comment.
@J-Christophe since you are the one who encountered the problem, are you able to suggest a MWE as regression test?
Description
This pull request is to address a heap corruption issue
Fix: Ensure to allocate memory for the null operator that is causing the issue.
Fixes #20419
AI Disclosure
AI Tools Disclosure
astropy/io/votable/src/tablewriter.c, explain CPython C-API functions (PyArg_ParseTuple,PyUnicode_AsUTF8AndSize), and assist in drafting the regression test and changelog entry.*x = (CHAR)0;off-by-one buffer boundary edge case, and draft text for the changelog. All generated code and analysis were manually reviewed, tested, and validated locally.Merge method