Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
77af98e3
Commit
77af98e3
authored
Feb 11, 2017
by
Thierry Vermeylen
Committed by
Alexandre Julliard
Feb 14, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wnaspi32: Do not crash on SC_GETSET_TIMEOUTS.
Signed-off-by:
Thierry Vermeylen
<
t_chan4958@hotmail.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
21d14104
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
0 deletions
+17
-0
winaspi32.c
dlls/wnaspi32/winaspi32.c
+6
-0
wnaspi32.h
include/wnaspi32.h
+11
-0
No files found.
dlls/wnaspi32/winaspi32.c
View file @
77af98e3
...
...
@@ -573,6 +573,12 @@ DWORD __cdecl SendASPI32Command(LPSRB lpSRB)
FIXME
(
"SC_GET_DISK_INFO always return 'int13 unassociated disk'.
\n
"
);
lpSRB
->
diskinfo
.
SRB_DriveFlags
=
0
;
/* disk is not int13 served */
return
SS_COMP
;
case
SC_GETSET_TIMEOUTS
:
{
PSRB_GetSetTimeouts
psrb_gst
=
(
PSRB_GetSetTimeouts
)
lpSRB
;
FIXME
(
"SC_GETSET_TIMEOUTS doesn't actually change the timeout value nor does it return the current value.
\n
"
);
psrb_gst
->
SRB_Status
=
SS_COMP
;
/* synchronous call, should be the same as the return value of SendASPI32Command */
return
SS_COMP
;
}
default:
FIXME
(
"Unknown command %d
\n
"
,
lpSRB
->
common
.
SRB_Cmd
);
}
...
...
include/wnaspi32.h
View file @
77af98e3
...
...
@@ -200,6 +200,17 @@ typedef struct tagSRB32_GetDiskInfo {
BYTE
SRB_Rsvd1
[
10
];
/* 0E Reserved */
}
SRB_GetDiskInfo
,
*
PSRB_GetDiskInfo
;
typedef
struct
tagSRB32_GetSetTimeouts
{
BYTE
SRB_Cmd
;
/* 00 ASPI cmd code = SC_GETSET_TIMEOUTS */
BYTE
SRB_Status
;
/* 01 ASPI command status byte */
BYTE
SRB_HaId
;
/* 02 ASPI host adapter number */
BYTE
SRB_Flags
;
/* 03 Reserved */
DWORD
SRB_Hdr_Rsvd
;
/* 04 Reserved */
BYTE
SRB_Target
;
/* 08 Target's SCSI ID */
BYTE
SRB_Lun
;
/* 09 Target's LUN number */
DWORD
SRB_Timeout
;
/* 10 Target's Timeout value */
}
SRB_GetSetTimeouts
,
*
PSRB_GetSetTimeouts
;
/* SRB header */
typedef
struct
tagSRB32_Header
{
BYTE
SRB_Cmd
;
/* 00 ASPI cmd code = SC_RESET_DEV */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment