]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
smbXsrvdump: catch exception from unparsable records
authorRalph Boehme <slow@samba.org>
Sat, 18 Oct 2025 14:34:00 +0000 (16:34 +0200)
committerVolker Lendecke <vl@samba.org>
Thu, 27 Nov 2025 09:01:29 +0000 (09:01 +0000)
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
examples/scripts/debugging/smbXsrvdump

index f5c3091dc0d88c4a4ace5c1f6f5605d83ae297b9..30bf1a57b9fba4f80acc77ea1fc1fa4b884a6283 100755 (executable)
@@ -47,8 +47,15 @@ def print_record(data, ndr_type, watched, ctdb):
             print_watchers(num_watched, blob)
             blob = blob[num_watched*4:]
 
-    unpacked = ndr_unpack(ndr_type, blob, allow_remaining=True)
-    print(ndr_print(unpacked))
+    try:
+        unpacked = ndr_unpack(ndr_type, blob, allow_remaining=True)
+    except Exception:
+        unpacked = None
+        pass
+    if unpacked is not None:
+        print(ndr_print(unpacked))
+    else:
+        print("<failed to parse>")
 
 if __name__ == "__main__":
     parser = argparse.ArgumentParser()