server: Store module names as client_ptr_t instead of void pointers.
diff --git a/server/process.h b/server/process.h
index 1f98958..fa80818 100644
--- a/server/process.h
+++ b/server/process.h
@@ -38,7 +38,7 @@
struct list entry; /* entry in per-process dll list */
struct file *file; /* dll file */
mod_handle_t base; /* dll base address (in process addr space) */
- void *name; /* ptr to ptr to name (in process addr space) */
+ client_ptr_t name; /* ptr to ptr to name (in process addr space) */
data_size_t size; /* dll size */
int dbg_offset; /* debug info offset */
int dbg_size; /* debug info size */
diff --git a/server/protocol.def b/server/protocol.def
index c2478f1..69d5928 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -91,7 +91,7 @@
int dbg_size; /* size of debug info */
void *teb; /* thread teb (in debugged process address space) */
void *start; /* thread startup routine */
- void *name; /* image name (optional) */
+ client_ptr_t name; /* image name (optional) */
int unicode; /* is it Unicode? */
};
struct debug_event_exit
@@ -104,7 +104,7 @@
mod_handle_t base; /* base address of the dll */
int dbg_offset; /* offset of debug info in file */
int dbg_size; /* size of debug info */
- void *name; /* image name (optional) */
+ client_ptr_t name; /* image name (optional) */
int unicode; /* is it Unicode? */
};
struct debug_event_unload_dll
@@ -659,7 +659,7 @@
@REQ(load_dll)
obj_handle_t handle; /* file handle */
mod_handle_t base; /* base address */
- void* name; /* ptr to ptr to name (in process addr space) */
+ client_ptr_t name; /* ptr to ptr to name (in process addr space) */
data_size_t size; /* dll size */
int dbg_offset; /* debug info offset */
int dbg_size; /* debug info size */
diff --git a/server/trace.c b/server/trace.c
index 8ca23f0..3cafe4a 100644
--- a/server/trace.c
+++ b/server/trace.c
@@ -459,10 +459,11 @@
event->info.create_process.file, event->info.create_process.process,
event->info.create_process.thread );
dump_uint64( &event->info.create_process.base );
- fprintf( stderr, ",offset=%d,size=%d,teb=%p,start=%p,name=%p,unicode=%d}",
+ fprintf( stderr, ",offset=%d,size=%d,teb=%p,start=%p,name=",
event->info.create_process.dbg_offset, event->info.create_process.dbg_size,
- event->info.create_process.teb, event->info.create_process.start,
- event->info.create_process.name, event->info.create_process.unicode );
+ event->info.create_process.teb, event->info.create_process.start );
+ dump_uint64( &event->info.create_process.name );
+ fprintf( stderr, ",unicode=%d}", event->info.create_process.unicode );
break;
case EXIT_THREAD_DEBUG_EVENT:
fprintf( stderr, "{exit_thread,code=%d}", event->info.exit.exit_code );
@@ -473,9 +474,10 @@
case LOAD_DLL_DEBUG_EVENT:
fprintf( stderr, "{load_dll,file=%04x,base", event->info.load_dll.handle );
dump_uint64( &event->info.load_dll.base );
- fprintf( stderr, ",offset=%d,size=%d,name=%p,unicode=%d}",
- event->info.load_dll.dbg_offset, event->info.load_dll.dbg_size,
- event->info.load_dll.name, event->info.load_dll.unicode );
+ fprintf( stderr, ",offset=%d,size=%d,name=",
+ event->info.load_dll.dbg_offset, event->info.load_dll.dbg_size );
+ dump_uint64( &event->info.load_dll.name );
+ fprintf( stderr, ",unicode=%d}", event->info.load_dll.unicode );
break;
case UNLOAD_DLL_DEBUG_EVENT:
fputs( "{unload_dll,base=", stderr );
@@ -1071,7 +1073,9 @@
fprintf( stderr, " base=" );
dump_uint64( &req->base );
fprintf( stderr, "," );
- fprintf( stderr, " name=%p,", req->name );
+ fprintf( stderr, " name=" );
+ dump_uint64( &req->name );
+ fprintf( stderr, "," );
fprintf( stderr, " size=%u,", req->size );
fprintf( stderr, " dbg_offset=%d,", req->dbg_offset );
fprintf( stderr, " dbg_size=%d,", req->dbg_size );