Am 15.05.2017 um 14:46 hat Alberto Garcia geschrieben: > On Mon 15 May 2017 02:39:40 PM CEST, Kevin Wolf wrote: > > This adds a small test for the image streaming error path for failing > > block_job_create(), which would have found the null pointer dereference > > in commit a170a91f. > > > > Signed-off-by: Kevin Wolf <[email protected]> > > --- > > tests/qemu-iotests/030 | 4 ++++ > > tests/qemu-iotests/030.out | 4 ++-- > > 2 files changed, 6 insertions(+), 2 deletions(-) > > > > diff --git a/tests/qemu-iotests/030 b/tests/qemu-iotests/030 > > index e00c11b..feee861 100755 > > --- a/tests/qemu-iotests/030 > > +++ b/tests/qemu-iotests/030 > > @@ -147,6 +147,10 @@ class TestSingleDrive(iotests.QMPTestCase): > > result = self.vm.qmp('block-stream', device='nonexistent') > > self.assert_qmp(result, 'error/class', 'GenericError') > > > > + def test_job_id_missing(self): > > + result = self.vm.qmp('block-stream', device='mid') > > + self.assert_qmp(result, 'error/class', 'GenericError') > > Mmm... but does that trigger the bug? > > The bug happens if the user tries to create a stream job on a BDS that: > > a) exists > b) is not the active node (i.e. needs reopening in read-write mode) > c) its node name is not valid for a block job (e.g. it contains a '#')
I don't think c) is necessary, block jobs that are owned by a BDS identified by a node name always require an explicit job ID. And yes, I did test that it actually breaks before your fix. Kevin
