[libvirt] Potential problems in virFDStreamClose

Matthias Bolte matthias.bolte at googlemail.com
Sat May 7 19:40:48 UTC 2011


virFDStreamClose calls virFDStreamFree that frees fdst, but
virFDStreamClose access fdst->lock after that.

virFDStreamClose doesn't destroy fdst->lock.

static int
virFDStreamClose(virStreamPtr st)
{
    struct virFDStreamData *fdst = st->privateData;
    int ret;

    VIR_DEBUG("st=%p", st);

    if (!fdst)
        return 0;

    virMutexLock(&fdst->lock);

    ret = virFDStreamFree(fdst);

    st->privateData = NULL;

    virMutexUnlock(&fdst->lock);

    return ret;
}

Matthias




More information about the libvir-list mailing list