From 88d5e2c938b014885044f1cfd016e62798f07fd2 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Tue, 24 Oct 2017 23:09:55 -0700 Subject: fix marshal uninitialized variable warnings (#4114) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GCC says: ../cpython/Python/marshal.c: In function ‘PyMarshal_WriteLongToFile’: ../cpython/Python/marshal.c:70:35: warning: ‘wf.ptr’ may be used uninitialized in this function [-Wmaybe-uninitialized] else if ((p)->ptr != (p)->end) *(p)->ptr++ = (c); \ ^~ ../cpython/Python/marshal.c:70:47: warning: ‘wf.end’ may be used uninitialized in this function [-Wmaybe-uninitialized] else if ((p)->ptr != (p)->end) *(p)->ptr++ = (c); \ ^~ ../cpython/Python/marshal.c:77:10: warning: ‘wf.str’ may be used uninitialized in this function [-Wmaybe-uninitialized] if (p->str == NULL) ~^~~~~ This isn't a real problem because if the file pointer is not NULL, the string-related fields are never touched. But, it doesn't hurt to set the unused fields to NULL. --- Python/marshal.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'Python') diff --git a/Python/marshal.c b/Python/marshal.c index e1a84d0bf7..f55599bdb0 100644 --- a/Python/marshal.c +++ b/Python/marshal.c @@ -465,6 +465,9 @@ PyMarshal_WriteLongToFile(long x, FILE *fp, int version) { WFILE wf; wf.fp = fp; + wf.str = NULL; + wf.ptr = NULL; + wf.end = NULL; wf.error = WFERR_OK; wf.depth = 0; wf.strings = NULL; @@ -477,6 +480,9 @@ PyMarshal_WriteObjectToFile(PyObject *x, FILE *fp, int version) { WFILE wf; wf.fp = fp; + wf.str = NULL; + wf.ptr = NULL; + wf.end = NULL; wf.error = WFERR_OK; wf.depth = 0; wf.strings = (version > 0) ? PyDict_New() : NULL; -- cgit v1.2.1