]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
Fix possibly-unitialized warning in string_parser.c. (GH-21503)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 16 Jul 2020 13:25:31 +0000 (06:25 -0700)
committerGitHub <noreply@github.com>
Thu, 16 Jul 2020 13:25:31 +0000 (06:25 -0700)
commit961703cdc82536b6ff897ad7d4b3bbf22718d1b5
tree84e76da4f4911420f1837bdc7e2e8d8d25b1cd70
parentf0f6566d47839c4dd395c8179724dacdf47c1858
Fix possibly-unitialized warning in string_parser.c. (GH-21503)

GCC says
```
../cpython/Parser/string_parser.c: In function ‘fstring_find_expr’:
../cpython/Parser/string_parser.c:404:93: warning: ‘cols’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  404 |     p2->starting_col_offset = p->tok->first_lineno == p->tok->lineno ? t->col_offset + cols : cols;
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
../cpython/Parser/string_parser.c:384:16: note: ‘cols’ was declared here
  384 |     int lines, cols;
      |                ^~~~
../cpython/Parser/string_parser.c:403:45: warning: ‘lines’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  403 |     p2->starting_lineno = t->lineno + lines - 1;
      |                           ~~~~~~~~~~~~~~~~~~^~~
../cpython/Parser/string_parser.c:384:9: note: ‘lines’ was declared here
  384 |     int lines, cols;
      |         ^~~~~
```

and, indeed, if `PyBytes_AsString` somehow fails, lines & cols will not be initialized.
(cherry picked from commit 2ad7e9c011b7606c5c7307176df07419a0e60134)

Co-authored-by: Benjamin Peterson <benjamin@python.org>
Parser/pegen/parse_string.c