VirtualBox

Changeset 34437 in vbox for trunk/src


Ignore:
Timestamp:
Nov 28, 2010 9:46:04 PM (14 years ago)
Author:
vboxsync
Message:

VBoxExtPackHelperApp.cpp: missing release calls and call RTManifestPtIosAddEntryNow explicitly to catch errors.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/VBoxExtPackHelperApp.cpp

    r34435 r34437  
    518518            if (RT_SUCCESS(rc))
    519519            {
    520                 /*
    521                  * Set the mode mask.
    522                  */
    523                 ObjInfo.Attr.fMode &= ~(RTFS_UNIX_IWOTH | RTFS_UNIX_IWGRP);
    524                 rc = RTFileSetMode(hFile, ObjInfo.Attr.fMode);
    525                 /** @todo Windows needs to do more here, I think. */
     520                rc = RTManifestPtIosAddEntryNow(hVfsIosDst);
    526521                if (RT_SUCCESS(rc))
    527522                {
    528                     return RTEXITCODE_SUCCESS;
     523                    RTVfsIoStrmRelease(hVfsIosDst);
     524                    hVfsIosDst = NIL_RTVFSIOSTREAM;
     525
     526                    /*
     527                     * Set the mode mask.
     528                     */
     529                    ObjInfo.Attr.fMode &= ~(RTFS_UNIX_IWOTH | RTFS_UNIX_IWGRP);
     530                    rc = RTFileSetMode(hFile, ObjInfo.Attr.fMode);
     531                    /** @todo Windows needs to do more here, I think. */
     532                    if (RT_SUCCESS(rc))
     533                    {
     534                        RTFileClose(hFile);
     535                        return RTEXITCODE_SUCCESS;
     536                    }
     537
     538                    RTMsgError("Failed to set the mode of '%s' to %RTfmode: %Rrc", pszDstFilename, ObjInfo.Attr.fMode, rc);
    529539                }
    530                 RTMsgError("Failed to set the mode of '%s' to %RTfmode: %Rrc", pszDstFilename, ObjInfo.Attr.fMode, rc);
     540                else
     541                    RTMsgError("RTManifestPtIosAddEntryNow failed for '%s': %Rrc", pszDstFilename, rc);
    531542            }
    532543            else
    533544                RTMsgError("RTVfsUtilPumpIoStreams failed for '%s': %Rrc", pszDstFilename, rc);
     545            RTVfsIoStrmRelease(hVfsIosDst);
    534546        }
    535547        else
     
    538550    else
    539551        RTMsgError("RTVfsIoStrmFromRTFile failed: %Rrc", rc);
     552    RTFileClose(hFile);
    540553    return RTEXITCODE_FAILURE;
    541554}
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette