advapi32: Fix potential NULL pointer dereference in RegSetValueExA [with test] (Saturn)
Aurimas Fišeras
aurimas at gmail.com
Wed Jan 28 10:27:39 CST 2009
Alexandre Julliard wrote:
> Aurimas Fišeras <aurimas at gmail.com> writes:
>
>
>> How to know when to fix NULL pointer dereferences if in most such cases
>> code flow can be traced back to a windows API called by "other program"?
>
> If some other program is really calling it with NULL then you can fix
> it. You can't preemptively fix every API that takes a pointer.
>
OK, I won't "fix" any windows API if no program calls it, although I
don't believe that is right.
But what about this and similar situations?
Error report:
server/debugger.c:160 red Possible NULL dereference of exe_module
Intraprocedural Null error
143: struct process_dll *exe_module = get_process_exe_module( process );
...
160: if (exe_module->file &&
process.h:
static inline struct process_dll *get_process_exe_module( struct process
*process )
{
struct list *ptr = list_head( &process->dlls );
return ptr ? LIST_ENTRY( ptr, struct process_dll, entry ) : NULL;
}
What should I do?
1. change get_process_exe_module() to
return LIST_ENTRY( ptr, struct process_dll, entry );
2. change debugger.c:160 to
if (exe_module && exe_module->file &&
3. inspect list_head()?
4. ignore it?
More information about the wine-devel
mailing list