server: Set a proper error code when dup_fd_object fails.

This commit is contained in:
Alexandre Julliard 2010-04-01 15:40:23 +02:00
parent bfd0866be8
commit 7d1d002d4c
1 changed files with 6 additions and 2 deletions

View File

@ -1628,6 +1628,7 @@ struct fd *dup_fd_object( struct fd *orig, unsigned int access, unsigned int sha
if (!closed) goto failed; if (!closed) goto failed;
if ((fd->unix_fd = dup( orig->unix_fd )) == -1) if ((fd->unix_fd = dup( orig->unix_fd )) == -1)
{ {
file_set_error();
free( closed ); free( closed );
goto failed; goto failed;
} }
@ -1637,8 +1638,11 @@ struct fd *dup_fd_object( struct fd *orig, unsigned int access, unsigned int sha
fd->inode = (struct inode *)grab_object( orig->inode ); fd->inode = (struct inode *)grab_object( orig->inode );
list_add_head( &fd->inode->open, &fd->inode_entry ); list_add_head( &fd->inode->open, &fd->inode_entry );
} }
else if ((fd->unix_fd = dup( orig->unix_fd )) == -1) goto failed; else if ((fd->unix_fd = dup( orig->unix_fd )) == -1)
{
file_set_error();
goto failed;
}
return fd; return fd;
failed: failed: