• Thomas Pugliese's avatar
    usb: wusbcore: resource cleanup fix in __wa_xfer_setup_segs · ffd6d17d
    Thomas Pugliese authored
    This patch updates __wa_xfer_setup_segs error path to only clean up the
    xfer->seg entry that it failed to create and then set that entry to
    NULL.  wa_xfer_destroy will clean up the remaining xfer->segs that were
    fully created.  It also moves the code to create the dto sg list to an
    out of line function to make __wa_xfer_setup_segs easier to read.  Prior
    to this change, __wa_xfer_setup_segs would clean up all entries in the
    xfer->seg array in case of an error but it did not set them to NULL.
    This resulted in a double free when wa_xfer_destroy was eventually
    called by the higher level error handler.
    Signed-off-by: default avatarThomas Pugliese <thomas.pugliese@gmail.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    ffd6d17d
wa-xfer.c 53.3 KB