Details
-
Bug
-
Resolution: Fixed
-
Major
-
None
-
None
Description
<p>If impersonation fails, the AsyncImpersonationProcess can try to dispose of a null SafeProcessHandle causing an unhandled exception.</p>
<p>The handle is never initialized if <a href="https://github.com/MediaPortal/MediaPortal-2/blob/d2a23a1d158f5b4c7e6655e1030ff5d0a9834b87/MediaPortal/Source/Core/MediaPortal.Common/Services/ResourceAccess/ImpersonationService/AsyncImpersonationProcess.cs#L609">success fails</a>, it is then tried to be disposed <a href="https://github.com/MediaPortal/MediaPortal-2/blob/d2a23a1d158f5b4c7e6655e1030ff5d0a9834b87/MediaPortal/Source/Core/MediaPortal.Common/Services/ResourceAccess/ImpersonationService/AsyncImpersonationProcess.cs#L621">here</a>, and later <a href="https://github.com/MediaPortal/MediaPortal-2/blob/d2a23a1d158f5b4c7e6655e1030ff5d0a9834b87/MediaPortal/Source/Core/MediaPortal.Common/Services/ResourceAccess/ImpersonationService/AsyncImpersonationProcess.cs#L503">here</a>.</p>
<p>The handle is never initialized if <a href="https://github.com/MediaPortal/MediaPortal-2/blob/d2a23a1d158f5b4c7e6655e1030ff5d0a9834b87/MediaPortal/Source/Core/MediaPortal.Common/Services/ResourceAccess/ImpersonationService/AsyncImpersonationProcess.cs#L609">success fails</a>, it is then tried to be disposed <a href="https://github.com/MediaPortal/MediaPortal-2/blob/d2a23a1d158f5b4c7e6655e1030ff5d0a9834b87/MediaPortal/Source/Core/MediaPortal.Common/Services/ResourceAccess/ImpersonationService/AsyncImpersonationProcess.cs#L621">here</a>, and later <a href="https://github.com/MediaPortal/MediaPortal-2/blob/d2a23a1d158f5b4c7e6655e1030ff5d0a9834b87/MediaPortal/Source/Core/MediaPortal.Common/Services/ResourceAccess/ImpersonationService/AsyncImpersonationProcess.cs#L503">here</a>.</p>