Skip to content
  • Peter Maydell's avatar
    blockdev: Consistently use snapshot_node_name in external_snapshot_prepare() · d52e1a0e
    Peter Maydell authored
    
    
    In the function external_snapshot_prepare() we have a
    BlockdevSnapshotSync struct, which has the usual combination
    of has_snapshot_node_name and snapshot_node_name fields for an
    optional field. We set up a local variable
            const char *snapshot_node_name =
                s->has_snapshot_node_name ? s->snapshot_node_name : NULL;
    
    and then mostly use "if (!snapshot_node_name)" for checking
    whether we have a snapshot node name. The exception is that in
    one place we check s->has_snapshot_node_name instead. This
    confuses Coverity (CID 1396473), which thinks it might be
    possible to get here with s->has_snapshot_node_name true but
    snapshot_node_name NULL, and warns that the call to
    qdict_put_str() will segfault in that case.
    
    Make the code consistent and unconfuse Coverity by using
    the same check for this conditional that we do in the rest
    of the surrounding code.
    
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
    Reviewed-by: default avatarAlberto Garcia <berto@igalia.com>
    Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
    d52e1a0e