Fix garbled java class name problem of uobjnew.py
After this fix, the output may look like this:
NAME/TYPE # ALLOCS # BYTES
[B 1 1016
[D 1 8016
diff --git a/tools/lib/uobjnew.py b/tools/lib/uobjnew.py
index f75ba04..60359c4 100755
--- a/tools/lib/uobjnew.py
+++ b/tools/lib/uobjnew.py
@@ -96,9 +96,11 @@
struct key_t key = {};
struct val_t *valp, zero = {};
u64 classptr = 0, size = 0;
+ u32 length = 0;
bpf_usdt_readarg(2, ctx, &classptr);
+ bpf_usdt_readarg(3, ctx, &length);
bpf_usdt_readarg(4, ctx, &size);
- bpf_probe_read_user(&key.name, sizeof(key.name), (void *)classptr);
+ bpf_probe_read_user(&key.name, min(sizeof(key.name), (size_t)length), (void *)classptr);
valp = allocs.lookup_or_try_init(&key, &zero);
if (valp) {
valp->total_size += size;