Sebastian Lackner : server: Delay destruction of file object in set_irp_result.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Jun 19 07:19:13 CDT 2015


Module: wine
Branch: master
Commit: ece08c10a162f429262a56b76a9a1675cf48baea
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=ece08c10a162f429262a56b76a9a1675cf48baea

Author: Sebastian Lackner <sebastian at fds-team.de>
Date:   Tue Jun 16 03:16:10 2015 +0200

server: Delay destruction of file object in set_irp_result.

---

 server/device.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/server/device.c b/server/device.c
index dc0325e..da99c32 100644
--- a/server/device.c
+++ b/server/device.c
@@ -288,7 +288,6 @@ static void set_irp_result( struct irp_call *irp, unsigned int status,
     irp->out_size = min( irp->out_size, out_size );
     if (irp->out_size && !(irp->out_data = memdup( out_data, irp->out_size )))
         irp->out_size = 0;
-    release_object( file );
     irp->file = NULL;
     if (irp->async)
     {
@@ -306,6 +305,7 @@ static void set_irp_result( struct irp_call *irp, unsigned int status,
         list_remove( &irp->dev_entry );
         release_object( irp );  /* no longer on the device queue */
     }
+    release_object( file );
 }
 
 




More information about the wine-cvs mailing list