diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/binaryview.py | 9 | ||||
| -rw-r--r-- | python/databuffer.py | 13 |
2 files changed, 11 insertions, 11 deletions
diff --git a/python/binaryview.py b/python/binaryview.py index 449d38cb..8984154a 100644 --- a/python/binaryview.py +++ b/python/binaryview.py @@ -1453,7 +1453,7 @@ class BinaryView: finally: core.BNFreeFunctionList(funcs, count.value) - def __getitem__(self, i): + def __getitem__(self, i) -> bytes: if isinstance(i, tuple): result = bytes() for s in i: @@ -1466,19 +1466,19 @@ class BinaryView: start = i[0] stop = i[1] if stop <= start: - return "" + return b"" return self.read(start, stop - start) elif i < 0: if i >= -len(self): value = self.read(int(len(self) + i), 1) if len(value) == 0: - return IndexError("index not readable") + raise IndexError("index not readable") return value raise IndexError("index out of range") elif (i >= self.start) and (i < self.end): value = self.read(int(i), 1) if len(value) == 0: - return IndexError("index not readable") + raise IndexError("index not readable") return value else: raise IndexError("index out of range") @@ -3985,6 +3985,7 @@ class BinaryView: return [] for src_func in funcs: src_arch = src_func.arch if arch is None else arch + assert src_arch is not None ref_src = core.BNReferenceSource(src_func.handle, src_arch.handle, addr) count = ctypes.c_ulonglong(0) refs = core.BNGetCallees(self.handle, ref_src, count) diff --git a/python/databuffer.py b/python/databuffer.py index ef8fc483..d99933a4 100644 --- a/python/databuffer.py +++ b/python/databuffer.py @@ -41,12 +41,11 @@ class DataBuffer: def __len__(self): return int(core.BNGetDataBufferLength(self.handle)) - def __getitem__(self, i): + def __getitem__(self, i) -> bytes: if isinstance(i, tuple): - result = "" - source = bytes(self) + result = bytes() for s in i: - result += source[s] + result += self.__getitem__(s) return result elif isinstance(i, slice): if i.step is not None: @@ -54,7 +53,7 @@ class DataBuffer: start = i[0] stop = i[1] if stop <= start: - return "" + return b"" buf = ctypes.create_string_buffer(stop - start) data = core.BNGetDataBufferContentsAt(self.handle, start) assert data is not None, "core.BNGetDataBufferContentsAt returned None" @@ -64,10 +63,10 @@ class DataBuffer: return bytes(self)[i] elif i < 0: if i >= -len(self): - return chr(core.BNGetDataBufferByte(self.handle, int(len(self) + i))) + return core.BNGetDataBufferByte(self.handle, int(len(self) + i)) raise IndexError("index out of range") elif i < len(self): - return chr(core.BNGetDataBufferByte(self.handle, int(i))) + return core.BNGetDataBufferByte(self.handle, int(i)) else: raise IndexError("index out of range") |
