diff options
| author | Nikita Sobolev <mail@sobolevn.me> | 2024-03-08 10:49:52 (GMT) |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-08 10:49:52 (GMT) |
| commit | fdb2d90a274158aee23b526d972172bf41bd4b7e (patch) | |
| tree | 50693d16fd4d8ecf83325cae58ce0652cfe7211d /Python/getargs.c | |
| parent | 0003285c8d78f0b463f2acc164655456fcfc3206 (diff) | |
| download | cpython-fdb2d90a274158aee23b526d972172bf41bd4b7e.zip cpython-fdb2d90a274158aee23b526d972172bf41bd4b7e.tar.gz cpython-fdb2d90a274158aee23b526d972172bf41bd4b7e.tar.bz2 | |
gh-116447: Fix possible UB in `arraymodule` and `getargs` (#116459)
Diffstat (limited to 'Python/getargs.c')
| -rw-r--r-- | Python/getargs.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Python/getargs.c b/Python/getargs.c index 08e97ee..bec9816 100644 --- a/Python/getargs.c +++ b/Python/getargs.c @@ -612,7 +612,7 @@ convertsimple(PyObject *arg, const char **p_format, va_list *p_va, int flags, switch (c) { case 'b': { /* unsigned byte -- very short int */ - char *p = va_arg(*p_va, char *); + unsigned char *p = va_arg(*p_va, unsigned char *); long ival = PyLong_AsLong(arg); if (ival == -1 && PyErr_Occurred()) RETURN_ERR_OCCURRED; @@ -633,7 +633,7 @@ convertsimple(PyObject *arg, const char **p_format, va_list *p_va, int flags, case 'B': {/* byte sized bitfield - both signed and unsigned values allowed */ - char *p = va_arg(*p_va, char *); + unsigned char *p = va_arg(*p_va, unsigned char *); unsigned long ival = PyLong_AsUnsignedLongMask(arg); if (ival == (unsigned long)-1 && PyErr_Occurred()) RETURN_ERR_OCCURRED; |
