Skip to content

Commit

Permalink
selftest: Confirm that --base64-input and --input work and a PIDL bug…
Browse files Browse the repository at this point in the history
… is fixed.

The PIDL bug is in the handling of arrays of arrays.

Test input provided by Michael Hanselmann and found using Hongfuzz.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13875

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
  • Loading branch information
abartlet committed Nov 20, 2019
1 parent 24fa337 commit b1eda99
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 0 deletions.
29 changes: 29 additions & 0 deletions python/samba/tests/blackbox/ndrdump.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,3 +110,32 @@ def test_ndrdump_with_binary_struct_number(self):
# check_output will return bytes
# convert expected to bytes for python 3
self.assertEqual(actual, expected.encode('utf-8'))

def test_ndrdump_fuzzed_clusapi_QueryAllValues(self):
expected = b'''pull returned Success
WARNING! 53 unread bytes
[0000] 00 FF 00 00 FF 00 00 00 00 09 00 00 00 08 00 33 ........ .......3
[0010] 33 32 37 36 32 36 39 33 32 37 36 38 34 01 00 00 32762693 27684...
[0020] 80 32 0D FF 00 00 FF 00 00 00 00 08 00 00 00 1C .2...... ........
[0030] F1 29 08 00 00 .)... ''' \
b'''
clusapi_QueryAllValues: struct clusapi_QueryAllValues
out: struct clusapi_QueryAllValues
pcbData : *
pcbData : 0x01000000 (16777216)
ppData : *
ppData: ARRAY(1)
ppData : NULL
rpc_status : *
rpc_status : WERR_OK
result : WERR_NOT_ENOUGH_MEMORY
dump OK
'''
try:
actual = self.check_output(
'ndrdump clusapi clusapi_QueryAllValues out ' +\
'--base64-input --input=' +\
'AAAAAQEAAAAAAAAAAAAAAAgAAAAA/wAA/wAAAAAJAAAACAAzMzI3NjI2OTMyNzY4NAEAAIAyDf8AAP8AAAAACAAAABzxKQgAAA==')
except BlackboxProcessError as e:
self.fail(e)
self.assertEqual(actual, expected)
1 change: 1 addition & 0 deletions selftest/knownfail.d/ndrdump
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
^samba.tests.blackbox.ndrdump.samba.tests.blackbox.ndrdump.NdrDumpTests.test_ndrdump_clusapi_QueryAllValues

0 comments on commit b1eda99

Please sign in to comment.