Skip to content

Commit 1b5d73e

Browse files
committed
Jsonify the payloads to escape everything
We didn't escape things properly, so we were breaking the dot syntax.
1 parent 1e3312c commit 1b5d73e

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

analyze_heap.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import collections
33
import dataclasses
44
import copy
5+
import json
56
import re
67
import gzip
78
import io
@@ -46,7 +47,9 @@ def _scanheap(filename: str, populate_referrers: bool = True) -> dict[int, HeapO
4647
payload_bytes = record.get("payload", None)
4748
payload: str | None = None
4849
if payload_bytes is not None:
49-
payload = payload_bytes.decode("utf-8", "replace")
50+
payload = json.dumps(payload_bytes.decode("utf-8", "replace"))[1:][
51+
:-1
52+
]
5053
live_objects[record["addr"]] = HeapObject(
5154
addr=record["addr"],
5255
typename=typenames[record["objtype_addr"]],
@@ -189,7 +192,7 @@ def _graph(args: argparse.Namespace) -> None:
189192

190193
if obj.addr not in sink_addresses or obj.addr in exclude_addresses:
191194
continue
192-
queue.append(((obj.addr, ), obj))
195+
queue.append(((obj.addr,), obj))
193196

194197
print("digraph heap {")
195198
print(

0 commit comments

Comments
 (0)