From 1aa60d092194491bce1cf4215bf2cff045784a2b Mon Sep 17 00:00:00 2001 From: Nguyen Anh Quynh Date: Sat, 17 May 2014 11:06:44 +0800 Subject: [PATCH] python: handle invalid argument (zero) for reg_name() & insn_name() of class CsInsn --- bindings/python/capstone/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bindings/python/capstone/__init__.py b/bindings/python/capstone/__init__.py index 8bac1a41a..91fae6f54 100644 --- a/bindings/python/capstone/__init__.py +++ b/bindings/python/capstone/__init__.py @@ -502,6 +502,9 @@ class CsInsn(object): # Diet engine cannot provide register name raise CsError(CS_ERR_DIET) + if reg_id == 0: + return "(invalid)" + return _cs.cs_reg_name(self._cs.csh, reg_id).decode('ascii') # get the instruction string @@ -510,6 +513,9 @@ class CsInsn(object): # Diet engine cannot provide instruction name raise CsError(CS_ERR_DIET) + if self._raw.id == 0: + return "(invalid)" + return _cs.cs_insn_name(self._cs.csh, self.id).decode('ascii') # verify if this insn belong to group with id as @group_id