summaryrefslogtreecommitdiffstats
path: root/.gitignore
diff options
context:
space:
mode:
authorMalfurious <m@lfurio.us>2022-03-15 22:21:46 -0400
committerMalfurious <m@lfurio.us>2022-03-17 03:48:34 -0400
commit13748fdf493f3076411f689e30fcdf158ef1c860 (patch)
tree0aae7650cefb3a0ef386f6330d97b95a626fd808 /.gitignore
parent380bc782b53bdafc2b1d5d37afb16d6d7b91a0e5 (diff)
downloadlib-des-gnux-13748fdf493f3076411f689e30fcdf158ef1c860.tar.gz
lib-des-gnux-13748fdf493f3076411f689e30fcdf158ef1c860.zip
sploit: Fix bugs and simplify Symtbl
The recent implementation of the new design for Symtbl contained a few bugs: - Attempting to access .base on a Symtbl or intermediate __InnerTable__ caused an exception. - Symtbl objects all used the same static collection of nested subtables, rather than an instanced one. If two table objects contained the same named key, they would refer to the same nested table from both locations. - Printing the contents of a table accessed via an absolute nesting (aka: via an __InnerTable__ object) would not show the offsets adjusted for the curent context. In addition to these fixes, the class implementation is largely simplified as well. This is in part due to the removal of unnecessary logic, such as the way our __getattribute__ overloads were implemented. Mainly, this came down to merging the redundant abstractions in our original design. Over time, the differences between these interfaces became blurred to the point where simply reusing one is not at all problematic. It is very much the intent of this patch to preserve the semantics of the tool's design (that being: flexable, nestable tables, to which a separate, but linked, mapped view may be obtained), but to state it as cleanly as possible. Note that all of the working state of a Symtbl is kept in its new _namesp member. This is primarily done to enable subclassing the Symtbl class. Ordinarily, setattr() on self would force the incoming value into the actual symbol table, making it impossible for subclasses to store separate instance data. Furthermore, the consolidation of properties into this object creates fewer potential collisions with user-defined symbols. Signed-off-by: Malfurious <m@lfurio.us> Signed-off-by: dusoleil <howcansocksbereal@gmail.com>
Diffstat (limited to '.gitignore')
0 files changed, 0 insertions, 0 deletions