Skip to content

Commit ea5108c

Browse files
committed
php_gdb: Fix missing casts in ZendAstPrettyPrinter
Fixes #17782
1 parent 65d4331 commit ea5108c

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

main/debug_gdb_scripts.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -848,13 +848,13 @@ asm(
848848
".ascii \" c = children[i]\\n\"\n"
849849
".ascii \" if int(c) != 0:\\n\"\n"
850850
".ascii \" c = c.dereference()\\n\"\n"
851-
".ascii \" yield ('child[%d]' % i, c)\\n\"\n"
851+
".ascii \" yield ('child[%d]' % i, ZendAstPrettyPrinter(c).cast())\\n\"\n"
852852
".ascii \" elif field.name == 'name':\\n\"\n"
853853
".ascii \" yield (field.name, format_zstr(val[field.name]))\\n\"\n"
854854
".ascii \" elif field.name == 'val':\\n\"\n"
855855
".ascii \" yield (field.name, ZvalPrettyPrinter(val[field.name]).to_string())\\n\"\n"
856856
".ascii \" else:\\n\"\n"
857-
".ascii \" yield (field.name, format_nested(self.val[field.name]))\\n\"\n"
857+
".ascii \" yield (field.name, format_nested(self.cast()[field.name]))\\n\"\n"
858858
".ascii \"\\n\"\n"
859859
".ascii \" def is_special(self):\\n\"\n"
860860
".ascii \" special_shift = 6 # ZEND_AST_SPECIAL_SHIFT\\n\"\n"

scripts/gdb/php_gdb.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,13 +178,13 @@ def children(self):
178178
c = children[i]
179179
if int(c) != 0:
180180
c = c.dereference()
181-
yield ('child[%d]' % i, c)
181+
yield ('child[%d]' % i, ZendAstPrettyPrinter(c).cast())
182182
elif field.name == 'name':
183183
yield (field.name, format_zstr(val[field.name]))
184184
elif field.name == 'val':
185185
yield (field.name, ZvalPrettyPrinter(val[field.name]).to_string())
186186
else:
187-
yield (field.name, format_nested(self.val[field.name]))
187+
yield (field.name, format_nested(self.cast()[field.name]))
188188

189189
def is_special(self):
190190
special_shift = 6 # ZEND_AST_SPECIAL_SHIFT

0 commit comments

Comments
 (0)