Fix misuse of "volatile" in xml.c
Michael Paquier <michael@paquier.xyz>
Fix misuse of "volatile" in xml.c What should be used is not "volatile foo *ptr" but "foo *volatile ptr", The incorrect (former) style means that what the pointer variable points to is volatile. The correct (latter) style means that the pointer variable itself needs to be treated as volatile. The latter style is required to ensure a consistent treatment of these variables after a longjmp with the TRY/CATCH blocks. Some casts can be removed thanks to this change. Issue introduced by 2e947217474c, so no backpatch is required. A similar set of issues has been fixed in 93001888d85c for contrib/xml2/. Author: ChangAo Chen <cca5507@qq.com> Discussion: https://postgr.es/m/tencent_5BE8DAD985EE140ED62EA728C8D4E1311F0A@qq.com
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/utils/adt/xml.c | modified | +6 −6 |
Discussion
- BUG #18943: Return value of a function 'xmlBufferCreate' is dereferenced at xpath.c:177 without checking for NUL 27 messages · 2025-06-01 → 2026-03-13