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
ef88637f
Commit
ef88637f
authored
Apr 04, 2000
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Made request tracing more robust against bogus lengths.
parent
f35cdc8e
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
42 additions
and
40 deletions
+42
-40
atom.c
server/atom.c
+1
-0
console.c
server/console.c
+5
-4
event.c
server/event.c
+2
-2
file.c
server/file.c
+1
-1
mapping.c
server/mapping.c
+2
-2
mutex.c
server/mutex.c
+2
-2
process.c
server/process.c
+4
-3
registry.c
server/registry.c
+11
-12
request.h
server/request.h
+6
-6
semaphore.c
server/semaphore.c
+2
-2
timer.c
server/timer.c
+2
-2
trace.c
server/trace.c
+0
-0
make_requests
tools/make_requests
+4
-4
No files found.
server/atom.c
View file @
ef88637f
...
@@ -277,5 +277,6 @@ DECL_HANDLER(find_atom)
...
@@ -277,5 +277,6 @@ DECL_HANDLER(find_atom)
/* get global atom name */
/* get global atom name */
DECL_HANDLER
(
get_atom_name
)
DECL_HANDLER
(
get_atom_name
)
{
{
req
->
name
[
0
]
=
0
;
req
->
count
=
get_atom_name
(
global_table
,
req
->
atom
,
req
->
name
);
req
->
count
=
get_atom_name
(
global_table
,
req
->
atom
,
req
->
name
);
}
}
server/console.c
View file @
ef88637f
...
@@ -439,7 +439,7 @@ DECL_HANDLER(open_console)
...
@@ -439,7 +439,7 @@ DECL_HANDLER(open_console)
/* set info about a console (output only) */
/* set info about a console (output only) */
DECL_HANDLER
(
set_console_info
)
DECL_HANDLER
(
set_console_info
)
{
{
size_t
len
=
get_req_strlen
(
req
->
title
);
size_t
len
=
get_req_strlen
(
req
,
req
->
title
);
set_console_info
(
req
->
handle
,
req
,
req
->
title
,
len
);
set_console_info
(
req
->
handle
,
req
,
req
->
title
,
len
);
}
}
...
@@ -447,13 +447,14 @@ DECL_HANDLER(set_console_info)
...
@@ -447,13 +447,14 @@ DECL_HANDLER(set_console_info)
DECL_HANDLER
(
get_console_info
)
DECL_HANDLER
(
get_console_info
)
{
{
struct
screen_buffer
*
console
;
struct
screen_buffer
*
console
;
req
->
title
[
0
]
=
0
;
if
((
console
=
(
struct
screen_buffer
*
)
get_handle_obj
(
current
->
process
,
req
->
handle
,
if
((
console
=
(
struct
screen_buffer
*
)
get_handle_obj
(
current
->
process
,
req
->
handle
,
GENERIC_READ
,
&
screen_buffer_ops
)))
GENERIC_READ
,
&
screen_buffer_ops
)))
{
{
req
->
cursor_size
=
console
->
cursor_size
;
req
->
cursor_size
=
console
->
cursor_size
;
req
->
cursor_visible
=
console
->
cursor_visible
;
req
->
cursor_visible
=
console
->
cursor_visible
;
req
->
pid
=
console
->
pid
;
req
->
pid
=
console
->
pid
;
strcpy
(
req
->
title
,
console
->
title
?
console
->
title
:
""
);
if
(
console
->
title
)
strcpy
(
req
->
title
,
console
->
title
);
release_object
(
console
);
release_object
(
console
);
}
}
}
}
...
@@ -496,7 +497,7 @@ DECL_HANDLER(set_console_mode)
...
@@ -496,7 +497,7 @@ DECL_HANDLER(set_console_mode)
/* add input records to a console input queue */
/* add input records to a console input queue */
DECL_HANDLER
(
write_console_input
)
DECL_HANDLER
(
write_console_input
)
{
{
int
max
=
get_req_size
(
req
+
1
,
sizeof
(
INPUT_RECORD
)
);
int
max
=
get_req_size
(
req
,
req
+
1
,
sizeof
(
INPUT_RECORD
)
);
int
count
=
req
->
count
;
int
count
=
req
->
count
;
if
(
count
>
max
)
count
=
max
;
if
(
count
>
max
)
count
=
max
;
...
@@ -506,7 +507,7 @@ DECL_HANDLER(write_console_input)
...
@@ -506,7 +507,7 @@ DECL_HANDLER(write_console_input)
/* fetch input records from a console input queue */
/* fetch input records from a console input queue */
DECL_HANDLER
(
read_console_input
)
DECL_HANDLER
(
read_console_input
)
{
{
int
max
=
get_req_size
(
req
+
1
,
sizeof
(
INPUT_RECORD
)
);
int
max
=
get_req_size
(
req
,
req
+
1
,
sizeof
(
INPUT_RECORD
)
);
req
->
read
=
read_console_input
(
req
->
handle
,
req
->
count
,
(
INPUT_RECORD
*
)(
req
+
1
),
req
->
read
=
read_console_input
(
req
->
handle
,
req
->
count
,
(
INPUT_RECORD
*
)(
req
+
1
),
max
,
req
->
flush
);
max
,
req
->
flush
);
}
}
server/event.c
View file @
ef88637f
...
@@ -114,7 +114,7 @@ static int event_satisfied( struct object *obj, struct thread *thread )
...
@@ -114,7 +114,7 @@ static int event_satisfied( struct object *obj, struct thread *thread )
/* create an event */
/* create an event */
DECL_HANDLER
(
create_event
)
DECL_HANDLER
(
create_event
)
{
{
size_t
len
=
get_req_strlenW
(
req
->
name
);
size_t
len
=
get_req_strlenW
(
req
,
req
->
name
);
struct
event
*
event
;
struct
event
*
event
;
req
->
handle
=
-
1
;
req
->
handle
=
-
1
;
...
@@ -128,7 +128,7 @@ DECL_HANDLER(create_event)
...
@@ -128,7 +128,7 @@ DECL_HANDLER(create_event)
/* open a handle to an event */
/* open a handle to an event */
DECL_HANDLER
(
open_event
)
DECL_HANDLER
(
open_event
)
{
{
size_t
len
=
get_req_strlenW
(
req
->
name
);
size_t
len
=
get_req_strlenW
(
req
,
req
->
name
);
req
->
handle
=
open_object
(
req
->
name
,
len
,
&
event_ops
,
req
->
access
,
req
->
inherit
);
req
->
handle
=
open_object
(
req
->
name
,
len
,
&
event_ops
,
req
->
access
,
req
->
inherit
);
}
}
...
...
server/file.c
View file @
ef88637f
...
@@ -450,7 +450,7 @@ static int file_unlock( struct file *file, int offset_high, int offset_low,
...
@@ -450,7 +450,7 @@ static int file_unlock( struct file *file, int offset_high, int offset_low,
/* create a file */
/* create a file */
DECL_HANDLER
(
create_file
)
DECL_HANDLER
(
create_file
)
{
{
size_t
len
=
get_req_strlen
(
req
->
name
);
size_t
len
=
get_req_strlen
(
req
,
req
->
name
);
struct
file
*
file
;
struct
file
*
file
;
req
->
handle
=
-
1
;
req
->
handle
=
-
1
;
...
...
server/mapping.c
View file @
ef88637f
...
@@ -160,7 +160,7 @@ int get_page_size(void)
...
@@ -160,7 +160,7 @@ int get_page_size(void)
/* create a file mapping */
/* create a file mapping */
DECL_HANDLER
(
create_mapping
)
DECL_HANDLER
(
create_mapping
)
{
{
size_t
len
=
get_req_strlenW
(
req
->
name
);
size_t
len
=
get_req_strlenW
(
req
,
req
->
name
);
struct
object
*
obj
;
struct
object
*
obj
;
req
->
handle
=
-
1
;
req
->
handle
=
-
1
;
...
@@ -177,7 +177,7 @@ DECL_HANDLER(create_mapping)
...
@@ -177,7 +177,7 @@ DECL_HANDLER(create_mapping)
/* open a handle to a mapping */
/* open a handle to a mapping */
DECL_HANDLER
(
open_mapping
)
DECL_HANDLER
(
open_mapping
)
{
{
size_t
len
=
get_req_strlenW
(
req
->
name
);
size_t
len
=
get_req_strlenW
(
req
,
req
->
name
);
req
->
handle
=
open_object
(
req
->
name
,
len
,
&
mapping_ops
,
req
->
access
,
req
->
inherit
);
req
->
handle
=
open_object
(
req
->
name
,
len
,
&
mapping_ops
,
req
->
access
,
req
->
inherit
);
}
}
...
...
server/mutex.c
View file @
ef88637f
...
@@ -139,7 +139,7 @@ static void mutex_destroy( struct object *obj )
...
@@ -139,7 +139,7 @@ static void mutex_destroy( struct object *obj )
/* create a mutex */
/* create a mutex */
DECL_HANDLER
(
create_mutex
)
DECL_HANDLER
(
create_mutex
)
{
{
size_t
len
=
get_req_strlenW
(
req
->
name
);
size_t
len
=
get_req_strlenW
(
req
,
req
->
name
);
struct
mutex
*
mutex
;
struct
mutex
*
mutex
;
req
->
handle
=
-
1
;
req
->
handle
=
-
1
;
...
@@ -153,7 +153,7 @@ DECL_HANDLER(create_mutex)
...
@@ -153,7 +153,7 @@ DECL_HANDLER(create_mutex)
/* open a handle to a mutex */
/* open a handle to a mutex */
DECL_HANDLER
(
open_mutex
)
DECL_HANDLER
(
open_mutex
)
{
{
size_t
len
=
get_req_strlenW
(
req
->
name
);
size_t
len
=
get_req_strlenW
(
req
,
req
->
name
);
req
->
handle
=
open_object
(
req
->
name
,
len
,
&
mutex_ops
,
req
->
access
,
req
->
inherit
);
req
->
handle
=
open_object
(
req
->
name
,
len
,
&
mutex_ops
,
req
->
access
,
req
->
inherit
);
}
}
...
...
server/process.c
View file @
ef88637f
...
@@ -578,7 +578,7 @@ struct process_snapshot *process_snap( int *count )
...
@@ -578,7 +578,7 @@ struct process_snapshot *process_snap( int *count )
/* create a new process */
/* create a new process */
DECL_HANDLER
(
new_process
)
DECL_HANDLER
(
new_process
)
{
{
size_t
len
=
get_req_strlen
(
req
->
cmdline
);
size_t
len
=
get_req_strlen
(
req
,
req
->
cmdline
);
struct
thread
*
thread
;
struct
thread
*
thread
;
int
sock
[
2
];
int
sock
[
2
];
...
@@ -722,7 +722,7 @@ DECL_HANDLER(read_process_memory)
...
@@ -722,7 +722,7 @@ DECL_HANDLER(read_process_memory)
if
((
process
=
get_process_from_handle
(
req
->
handle
,
PROCESS_VM_READ
)))
if
((
process
=
get_process_from_handle
(
req
->
handle
,
PROCESS_VM_READ
)))
{
{
read_process_memory
(
process
,
req
->
addr
,
req
->
len
,
read_process_memory
(
process
,
req
->
addr
,
req
->
len
,
get_req_size
(
req
->
data
,
sizeof
(
int
)
),
req
->
data
);
get_req_size
(
req
,
req
->
data
,
sizeof
(
int
)
),
req
->
data
);
release_object
(
process
);
release_object
(
process
);
}
}
}
}
...
@@ -734,7 +734,8 @@ DECL_HANDLER(write_process_memory)
...
@@ -734,7 +734,8 @@ DECL_HANDLER(write_process_memory)
if
((
process
=
get_process_from_handle
(
req
->
handle
,
PROCESS_VM_WRITE
)))
if
((
process
=
get_process_from_handle
(
req
->
handle
,
PROCESS_VM_WRITE
)))
{
{
write_process_memory
(
process
,
req
->
addr
,
req
->
len
,
get_req_size
(
req
->
data
,
sizeof
(
int
)
),
write_process_memory
(
process
,
req
->
addr
,
req
->
len
,
get_req_size
(
req
,
req
->
data
,
sizeof
(
int
)
),
req
->
first_mask
,
req
->
last_mask
,
req
->
data
);
req
->
first_mask
,
req
->
last_mask
,
req
->
data
);
release_object
(
process
);
release_object
(
process
);
}
}
...
...
server/registry.c
View file @
ef88637f
...
@@ -308,10 +308,10 @@ static WCHAR *get_path_token( const WCHAR *initpath, size_t maxlen )
...
@@ -308,10 +308,10 @@ static WCHAR *get_path_token( const WCHAR *initpath, size_t maxlen )
}
}
/* duplicate a Unicode string from the request buffer */
/* duplicate a Unicode string from the request buffer */
static
WCHAR
*
req_strdupW
(
const
WCHAR
*
str
)
static
WCHAR
*
req_strdupW
(
const
void
*
req
,
const
WCHAR
*
str
)
{
{
WCHAR
*
name
;
WCHAR
*
name
;
size_t
len
=
get_req_strlenW
(
str
);
size_t
len
=
get_req_strlenW
(
req
,
str
);
if
((
name
=
mem_alloc
(
(
len
+
1
)
*
sizeof
(
WCHAR
)
))
!=
NULL
)
if
((
name
=
mem_alloc
(
(
len
+
1
)
*
sizeof
(
WCHAR
)
))
!=
NULL
)
{
{
memcpy
(
name
,
str
,
len
*
sizeof
(
WCHAR
)
);
memcpy
(
name
,
str
,
len
*
sizeof
(
WCHAR
)
);
...
@@ -741,7 +741,6 @@ static void get_value( struct key *key, WCHAR *name, int *type, int *len, void *
...
@@ -741,7 +741,6 @@ static void get_value( struct key *key, WCHAR *name, int *type, int *len, void *
else
else
{
{
*
type
=
-
1
;
*
type
=
-
1
;
*
len
=
0
;
set_error
(
STATUS_OBJECT_NAME_NOT_FOUND
);
set_error
(
STATUS_OBJECT_NAME_NOT_FOUND
);
}
}
}
}
...
@@ -751,12 +750,7 @@ static void enum_value( struct key *key, int i, WCHAR *name, int *type, int *len
...
@@ -751,12 +750,7 @@ static void enum_value( struct key *key, int i, WCHAR *name, int *type, int *len
{
{
struct
key_value
*
value
;
struct
key_value
*
value
;
if
(
i
<
0
||
i
>
key
->
last_value
)
if
(
i
<
0
||
i
>
key
->
last_value
)
set_error
(
STATUS_NO_MORE_ENTRIES
);
{
name
[
0
]
=
0
;
*
len
=
0
;
set_error
(
STATUS_NO_MORE_ENTRIES
);
}
else
else
{
{
value
=
&
key
->
values
[
i
];
value
=
&
key
->
values
[
i
];
...
@@ -1378,7 +1372,7 @@ DECL_HANDLER(create_key)
...
@@ -1378,7 +1372,7 @@ DECL_HANDLER(create_key)
req
->
hkey
=
-
1
;
req
->
hkey
=
-
1
;
if
((
parent
=
get_hkey_obj
(
req
->
parent
,
KEY_CREATE_SUB_KEY
)))
if
((
parent
=
get_hkey_obj
(
req
->
parent
,
KEY_CREATE_SUB_KEY
)))
{
{
if
((
class
=
req_strdupW
(
req
->
class
)))
if
((
class
=
req_strdupW
(
req
,
req
->
class
)))
{
{
if
((
key
=
create_key
(
parent
,
req
->
name
,
sizeof
(
req
->
name
),
class
,
req
->
options
,
if
((
key
=
create_key
(
parent
,
req
->
name
,
sizeof
(
req
->
name
),
class
,
req
->
options
,
req
->
modif
,
&
req
->
created
)))
req
->
modif
,
&
req
->
created
)))
...
@@ -1436,6 +1430,7 @@ DECL_HANDLER(enum_key)
...
@@ -1436,6 +1430,7 @@ DECL_HANDLER(enum_key)
{
{
struct
key
*
key
;
struct
key
*
key
;
req
->
name
[
0
]
=
req
->
class
[
0
]
=
0
;
if
((
key
=
get_hkey_obj
(
req
->
hkey
,
KEY_ENUMERATE_SUB_KEYS
)))
if
((
key
=
get_hkey_obj
(
req
->
hkey
,
KEY_ENUMERATE_SUB_KEYS
)))
{
{
enum_key
(
key
,
req
->
index
,
req
->
name
,
req
->
class
,
&
req
->
modif
);
enum_key
(
key
,
req
->
index
,
req
->
name
,
req
->
class
,
&
req
->
modif
);
...
@@ -1448,6 +1443,7 @@ DECL_HANDLER(query_key_info)
...
@@ -1448,6 +1443,7 @@ DECL_HANDLER(query_key_info)
{
{
struct
key
*
key
;
struct
key
*
key
;
req
->
name
[
0
]
=
req
->
class
[
0
]
=
0
;
if
((
key
=
get_hkey_obj
(
req
->
hkey
,
KEY_QUERY_VALUE
)))
if
((
key
=
get_hkey_obj
(
req
->
hkey
,
KEY_QUERY_VALUE
)))
{
{
query_key
(
key
,
req
);
query_key
(
key
,
req
);
...
@@ -1459,7 +1455,7 @@ DECL_HANDLER(query_key_info)
...
@@ -1459,7 +1455,7 @@ DECL_HANDLER(query_key_info)
DECL_HANDLER
(
set_key_value
)
DECL_HANDLER
(
set_key_value
)
{
{
struct
key
*
key
;
struct
key
*
key
;
int
max
=
get_req_size
(
req
->
data
,
sizeof
(
req
->
data
[
0
])
);
int
max
=
get_req_size
(
req
,
req
->
data
,
sizeof
(
req
->
data
[
0
])
);
int
datalen
=
req
->
len
;
int
datalen
=
req
->
len
;
if
(
datalen
>
max
)
if
(
datalen
>
max
)
{
{
...
@@ -1478,6 +1474,7 @@ DECL_HANDLER(get_key_value)
...
@@ -1478,6 +1474,7 @@ DECL_HANDLER(get_key_value)
{
{
struct
key
*
key
;
struct
key
*
key
;
req
->
len
=
0
;
if
((
key
=
get_hkey_obj
(
req
->
hkey
,
KEY_QUERY_VALUE
)))
if
((
key
=
get_hkey_obj
(
req
->
hkey
,
KEY_QUERY_VALUE
)))
{
{
get_value
(
key
,
copy_path
(
req
->
name
),
&
req
->
type
,
&
req
->
len
,
req
->
data
);
get_value
(
key
,
copy_path
(
req
->
name
),
&
req
->
type
,
&
req
->
len
,
req
->
data
);
...
@@ -1490,6 +1487,8 @@ DECL_HANDLER(enum_key_value)
...
@@ -1490,6 +1487,8 @@ DECL_HANDLER(enum_key_value)
{
{
struct
key
*
key
;
struct
key
*
key
;
req
->
len
=
0
;
req
->
name
[
0
]
=
0
;
if
((
key
=
get_hkey_obj
(
req
->
hkey
,
KEY_QUERY_VALUE
)))
if
((
key
=
get_hkey_obj
(
req
->
hkey
,
KEY_QUERY_VALUE
)))
{
{
enum_value
(
key
,
req
->
index
,
req
->
name
,
&
req
->
type
,
&
req
->
len
,
req
->
data
);
enum_value
(
key
,
req
->
index
,
req
->
name
,
&
req
->
type
,
&
req
->
len
,
req
->
data
);
...
@@ -1505,7 +1504,7 @@ DECL_HANDLER(delete_key_value)
...
@@ -1505,7 +1504,7 @@ DECL_HANDLER(delete_key_value)
if
((
key
=
get_hkey_obj
(
req
->
hkey
,
KEY_SET_VALUE
)))
if
((
key
=
get_hkey_obj
(
req
->
hkey
,
KEY_SET_VALUE
)))
{
{
if
((
name
=
req_strdupW
(
req
->
name
)))
if
((
name
=
req_strdupW
(
req
,
req
->
name
)))
{
{
delete_value
(
key
,
name
);
delete_value
(
key
,
name
);
free
(
name
);
free
(
name
);
...
...
server/request.h
View file @
ef88637f
...
@@ -46,24 +46,24 @@ static inline void *get_req_ptr( struct thread *thread )
...
@@ -46,24 +46,24 @@ static inline void *get_req_ptr( struct thread *thread )
}
}
/* get the remaining size in the request buffer for object of a given size */
/* get the remaining size in the request buffer for object of a given size */
static
inline
int
get_req_size
(
const
void
*
ptr
,
size_t
typesize
)
static
inline
int
get_req_size
(
const
void
*
req
,
const
void
*
ptr
,
size_t
typesize
)
{
{
return
((
char
*
)
current
->
buffer
+
MAX_REQUEST_LENGTH
-
(
char
*
)
ptr
)
/
typesize
;
return
((
char
*
)
req
+
MAX_REQUEST_LENGTH
-
(
char
*
)
ptr
)
/
typesize
;
}
}
/* get the length of a request string, without going past the end of the request */
/* get the length of a request string, without going past the end of the request */
static
inline
size_t
get_req_strlen
(
const
char
*
str
)
static
inline
size_t
get_req_strlen
(
const
void
*
req
,
const
char
*
str
)
{
{
const
char
*
p
=
str
;
const
char
*
p
=
str
;
while
(
*
p
&&
(
p
<
(
char
*
)
current
->
buffer
+
MAX_REQUEST_LENGTH
-
1
))
p
++
;
while
(
*
p
&&
(
p
<
(
char
*
)
req
+
MAX_REQUEST_LENGTH
-
1
))
p
++
;
return
p
-
str
;
return
p
-
str
;
}
}
/* same as above for Unicode */
/* same as above for Unicode */
static
inline
size_t
get_req_strlenW
(
const
WCHAR
*
str
)
static
inline
size_t
get_req_strlenW
(
const
void
*
req
,
const
WCHAR
*
str
)
{
{
const
WCHAR
*
p
=
str
;
const
WCHAR
*
p
=
str
;
while
(
*
p
&&
(
(
char
*
)
p
<
(
char
*
)
current
->
buffer
+
MAX_REQUEST_LENGTH
-
2
))
p
++
;
while
(
*
p
&&
(
p
<
(
WCHAR
*
)
req
+
MAX_REQUEST_LENGTH
/
sizeof
(
WCHAR
)
-
1
))
p
++
;
return
p
-
str
;
return
p
-
str
;
}
}
...
...
server/semaphore.c
View file @
ef88637f
...
@@ -122,7 +122,7 @@ static int semaphore_satisfied( struct object *obj, struct thread *thread )
...
@@ -122,7 +122,7 @@ static int semaphore_satisfied( struct object *obj, struct thread *thread )
/* create a semaphore */
/* create a semaphore */
DECL_HANDLER
(
create_semaphore
)
DECL_HANDLER
(
create_semaphore
)
{
{
size_t
len
=
get_req_strlenW
(
req
->
name
);
size_t
len
=
get_req_strlenW
(
req
,
req
->
name
);
struct
semaphore
*
sem
;
struct
semaphore
*
sem
;
req
->
handle
=
-
1
;
req
->
handle
=
-
1
;
...
@@ -136,7 +136,7 @@ DECL_HANDLER(create_semaphore)
...
@@ -136,7 +136,7 @@ DECL_HANDLER(create_semaphore)
/* open a handle to a semaphore */
/* open a handle to a semaphore */
DECL_HANDLER
(
open_semaphore
)
DECL_HANDLER
(
open_semaphore
)
{
{
size_t
len
=
get_req_strlenW
(
req
->
name
);
size_t
len
=
get_req_strlenW
(
req
,
req
->
name
);
req
->
handle
=
open_object
(
req
->
name
,
len
,
&
semaphore_ops
,
req
->
access
,
req
->
inherit
);
req
->
handle
=
open_object
(
req
->
name
,
len
,
&
semaphore_ops
,
req
->
access
,
req
->
inherit
);
}
}
...
...
server/timer.c
View file @
ef88637f
...
@@ -164,7 +164,7 @@ static void timer_destroy( struct object *obj )
...
@@ -164,7 +164,7 @@ static void timer_destroy( struct object *obj )
/* create a timer */
/* create a timer */
DECL_HANDLER
(
create_timer
)
DECL_HANDLER
(
create_timer
)
{
{
size_t
len
=
get_req_strlenW
(
req
->
name
);
size_t
len
=
get_req_strlenW
(
req
,
req
->
name
);
struct
timer
*
timer
;
struct
timer
*
timer
;
req
->
handle
=
-
1
;
req
->
handle
=
-
1
;
...
@@ -178,7 +178,7 @@ DECL_HANDLER(create_timer)
...
@@ -178,7 +178,7 @@ DECL_HANDLER(create_timer)
/* open a handle to a timer */
/* open a handle to a timer */
DECL_HANDLER
(
open_timer
)
DECL_HANDLER
(
open_timer
)
{
{
size_t
len
=
get_req_strlenW
(
req
->
name
);
size_t
len
=
get_req_strlenW
(
req
,
req
->
name
);
req
->
handle
=
open_object
(
req
->
name
,
len
,
&
timer_ops
,
req
->
access
,
req
->
inherit
);
req
->
handle
=
open_object
(
req
->
name
,
len
,
&
timer_ops
,
req
->
access
,
req
->
inherit
);
}
}
...
...
server/trace.c
View file @
ef88637f
This diff is collapsed.
Click to expand it.
tools/make_requests
View file @
ef88637f
...
@@ -19,8 +19,8 @@
...
@@ -19,8 +19,8 @@
"debug_event_t"
=>
"&dump_debug_event_t"
,
"debug_event_t"
=>
"&dump_debug_event_t"
,
"CONTEXT"
=>
"&dump_context"
,
"CONTEXT"
=>
"&dump_context"
,
"EXCEPTION_RECORD"
=>
"&dump_exc_record"
,
"EXCEPTION_RECORD"
=>
"&dump_exc_record"
,
"char[1]"
=>
"\\\"%s\\\"
"
,
"char[1]"
=>
"&dump_string
"
,
"WCHAR[1]"
=>
"&dump_unicode_string"
"WCHAR[1]"
=>
"&dump_unicode_string"
);
);
my
@requests
=
();
my
@requests
=
();
...
@@ -139,8 +139,8 @@ sub DO_DUMP_FUNC
...
@@ -139,8 +139,8 @@ sub DO_DUMP_FUNC
{
{
my
$func
=
$1
;
my
$func
=
$1
;
push
@trace_lines
,
" fprintf( stderr, \" $var=\" );\n"
;
push
@trace_lines
,
" fprintf( stderr, \" $var=\" );\n"
;
if
(
$type
=~
/[1]/
)
{
push
@trace_lines
,
" $func( req->$var );\n"
;
}
if
(
$type
=~
/[1]/
)
{
push
@trace_lines
,
" $func( req
, req
->$var );\n"
;
}
else
{
push
@trace_lines
,
" $func( &req->$var );\n"
;
}
else
{
push
@trace_lines
,
" $func(
req,
&req->$var );\n"
;
}
push
@trace_lines
,
" fprintf( stderr, \",\" );\n"
if
(
$#_
>
0
);
push
@trace_lines
,
" fprintf( stderr, \",\" );\n"
if
(
$#_
>
0
);
}
}
else
else
...
...
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