f86e463 event: don't queue NULL event on OOM

Authored and Committed by ericb 10 years ago
    event: don't queue NULL event on OOM
    
    Ever since commit 61ac8ce, Coverity complained about
    remoteNetworkBuildEventLifecycle not checking for NULL failure
    to build an event, compared to other calls in the code base.
    But the problem is latent from copy and paste; all 17 of our
    remote*BuildEvent* functions in remote_driver.c have the same
    issue - if an OOM causes an event to not be built, we happily
    pass NULL to remoteEventQueue(), but that function has marked
    event as a nonnull parameter.  We were getting lucky (the
    event queue's first use of the event happened to be a call to
    virIsObjectClass(), which acts gracefully on NULL, so there
    was no way to crash); but this is a latent bug waiting to bite
    us due to the disregard for the nonnull attribute, as well as
    a waste of resources in the event queue.  Better is to just
    refuse to queue NULL.  The discard is silent, since the problem
    only happens on OOM, and since events are already best effort -
    if we fail to get an event, it's not like we have any memory
    left to report the issue, nor any idea of who would benefit
    from knowing we couldn't create or queue the event.
    
    * src/remote/remote_driver.c (remoteEventQueue): Ignore NULL event.
    
    Signed-off-by: Eric Blake <eblake@redhat.com>
    
        
file modified
+2 -1