From patchwork Thu Oct 4 18:08:00 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Tom de Vries X-Patchwork-Id: 29650 Received: (qmail 118758 invoked by alias); 4 Oct 2018 18:08:04 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 118436 invoked by uid 89); 4 Oct 2018 18:08:04 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1789, HContent-Transfer-Encoding:8bit X-HELO: mx1.suse.de Received: from mx2.suse.de (HELO mx1.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 04 Oct 2018 18:08:03 +0000 Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 10E16B036 for ; Thu, 4 Oct 2018 18:08:00 +0000 (UTC) Date: Thu, 4 Oct 2018 20:08:00 +0200 From: Tom de Vries To: gdb-patches@sourceware.org Subject: [PATCH][gdb/python] Fix cpychecker error in recpy_bt_goto Message-ID: <20181004180759.GA23984@delia> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) X-IsSubscribed: yes Hi, When using cpychecker, we run into this error: ... gdb/python/py-record-btrace.c: \ In function ‘PyObject* recpy_bt_goto(PyObject*, PyObject*)’: gdb/python/py-record-btrace.c:783:25: error: Mismatching type in call to \ PyArg_ParseTuple with format code "O" [-Werror] if (!PyArg_ParseTuple (args, "O", &obj)) argument 3 ("&obj") had type "const struct recpy_element_object * *" but was expecting "struct PyObject * *" for format code "O" ... Fix this by using a new variable of the expected type instead. Build and reg-tested on x86_64-linux. OK for trunk? Thanks, - Tom [gdb/python] Fix cpychecker error in recpy_bt_goto 2018-10-04 Tom de Vries * python/py-record-btrace.c (recpy_bt_goto): Fix type mismatch in PyArg_ParseTuple call. --- gdb/python/py-record-btrace.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gdb/python/py-record-btrace.c b/gdb/python/py-record-btrace.c index 057475e112..006b56c9ab 100644 --- a/gdb/python/py-record-btrace.c +++ b/gdb/python/py-record-btrace.c @@ -776,15 +776,17 @@ recpy_bt_goto (PyObject *self, PyObject *args) const recpy_record_object * const record = (recpy_record_object *) self; thread_info *const tinfo = record->thread; const recpy_element_object *obj; + PyObject *parse_obj; if (tinfo == NULL || btrace_is_empty (tinfo)) return PyErr_Format (gdbpy_gdb_error, _("Empty branch trace.")); - if (!PyArg_ParseTuple (args, "O", &obj)) + if (!PyArg_ParseTuple (args, "O", &parse_obj)) return NULL; - if (Py_TYPE (obj) != &recpy_insn_type) + if (Py_TYPE (parse_obj) != &recpy_insn_type) return PyErr_Format (PyExc_TypeError, _("Argument must be instruction.")); + obj = (const recpy_element_object *)parse_obj; TRY {