Fix some mypy errors

pull/1279/head
Gulshan Singh 3 years ago
parent fd5e722cbc
commit 2be84a9b4d

@ -1,5 +1,7 @@
import os.path import os.path
import re import re
from typing import Any
from typing import Dict
import pygments import pygments
import pygments.formatters import pygments.formatters
@ -20,7 +22,7 @@ style = theme.Parameter(
formatter = pygments.formatters.Terminal256Formatter(style=str(style)) formatter = pygments.formatters.Terminal256Formatter(style=str(style))
pwntools_lexer = PwntoolsLexer() pwntools_lexer = PwntoolsLexer()
lexer_cache = {} lexer_cache: Dict[str, Any] = {}
@pwndbg.config.Trigger([style]) @pwndbg.config.Trigger([style])

@ -1,15 +1,11 @@
import types import types
from imp import reload as _reload
import pwndbg import pwndbg
import pwndbg.commands import pwndbg.commands
import pwndbg.gdblib.events import pwndbg.gdblib.events
import pwndbg.lib.memoize import pwndbg.lib.memoize
try:
from __builtins__ import reload as _reload
except Exception:
from imp import reload as _reload
def rreload(module, mdict=None): def rreload(module, mdict=None):
"""Recursively reload modules.""" """Recursively reload modules."""

@ -7,6 +7,11 @@ by using a decorator.
import sys import sys
from functools import partial from functools import partial
from functools import wraps from functools import wraps
from typing import Any
from typing import Callable
from typing import Dict
from typing import List
from typing import Set
import gdb import gdb
@ -101,7 +106,7 @@ gdb.events.before_prompt = before_prompt_event
# In order to support reloading, we must be able to re-fire # In order to support reloading, we must be able to re-fire
# all 'objfile' and 'stop' events. # all 'objfile' and 'stop' events.
registered = { registered: Dict[Any, List[Callable]] = {
gdb.events.exited: [], gdb.events.exited: [],
gdb.events.cont: [], gdb.events.cont: [],
gdb.events.new_objfile: [], gdb.events.new_objfile: [],
@ -122,7 +127,7 @@ except (NameError, AttributeError):
# objects are loaded. This greatly slows down the debugging session. # objects are loaded. This greatly slows down the debugging session.
# In order to combat this, we keep track of which objfiles have been loaded # In order to combat this, we keep track of which objfiles have been loaded
# this session, and only emit objfile events for each *new* file. # this session, and only emit objfile events for each *new* file.
objfile_cache = dict() objfile_cache: Dict[str, Set[str]] = {}
def connect(func, event_handler, name=""): def connect(func, event_handler, name=""):

@ -6,6 +6,7 @@ import ctypes
import re import re
import sys import sys
from types import ModuleType from types import ModuleType
from typing import Dict
import gdb import gdb
@ -41,7 +42,7 @@ ARCH_GET_GS = 0x1004
class module(ModuleType): class module(ModuleType):
last = {} last: Dict[str, int] = {}
@pwndbg.lib.memoize.reset_on_stop @pwndbg.lib.memoize.reset_on_stop
@pwndbg.lib.memoize.reset_on_prompt @pwndbg.lib.memoize.reset_on_prompt

@ -6,6 +6,8 @@ Generally not needed, except under qemu-user and for when
binaries do things to remap the stack (e.g. pwnies' postit). binaries do things to remap the stack (e.g. pwnies' postit).
""" """
from typing import Dict
import gdb import gdb
import pwndbg.gdblib.abi import pwndbg.gdblib.abi
@ -17,7 +19,7 @@ import pwndbg.lib.memoize
# Dictionary of stack ranges. # Dictionary of stack ranges.
# Key is the gdb thread ptid # Key is the gdb thread ptid
# Value is a pwndbg.lib.memory.Page object # Value is a pwndbg.lib.memory.Page object
stacks = {} stacks: Dict[int, pwndbg.lib.memory.Page] = {}
# Whether the stack is protected by NX. # Whether the stack is protected by NX.
# This is updated automatically by is_executable. # This is updated automatically by is_executable.

@ -224,6 +224,8 @@ def address(symbol: str) -> int:
except Exception: except Exception:
pass pass
return None
@pwndbg.lib.memoize.reset_on_objfile @pwndbg.lib.memoize.reset_on_objfile
def static_linkage_symbol_address(symbol): def static_linkage_symbol_address(symbol):

@ -21,7 +21,9 @@ class module(ModuleType):
def get_tls_base_via_errno_location(self) -> int: def get_tls_base_via_errno_location(self) -> int:
"""Heuristically determine the base address of the TLS.""" """Heuristically determine the base address of the TLS."""
if pwndbg.symbol.address("__errno_location") is None or pwndbg.gdblib.arch.current not in ( if pwndbg.gdblib.symbol.address(
"__errno_location"
) is None or pwndbg.gdblib.arch.current not in (
"x86-64", "x86-64",
"i386", "i386",
"arm", "arm",

@ -189,6 +189,7 @@ NETLINK_TYPES = {
class Netlink(inode): class Netlink(inode):
eth = 0 eth = 0
pid = None
def __str__(self): def __str__(self):
return NETLINK_TYPES.get(self.eth, "(unknown netlink)") return NETLINK_TYPES.get(self.eth, "(unknown netlink)")

Loading…
Cancel
Save