winex11.drv/opengl.c: Unhandled null pointer

Joshua Beck jxb091000 at utdallas.edu
Tue Mar 22 02:59:53 CDT 2011


I've been trying to run wine with a few games, and I've been getting a 
similar error and backtrace with all of them. Here's the relevant info:

    wine: Unhandled page fault on read access to 0x00000000 at address 0xf748c110 (thread 0043), starting debugger...
    Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0xf748c110).
    ...
    Backtrace:
    =>0 0xf748c110 in libc.so.6 (+0x74110) (0x0032e670)
       1 0x7e59fae9 X11DRV_WineGL_InitOpenglInfo+0x353() [/home/jb/programs/wine-git/dlls/winex11.drv/opengl.c:351] in winex11 (0x0032e670)
    ... (goes on for a dozen or so more, not relevant to this bug)
       

So my first thought was "What's wrong with libc?" Then I looked at the 
source of the file at level 1 of the stack and found this:

    350: str = (const char *) pglGetString(GL_EXTENSIONS);
    351: WineGLInfo.glExtensions = HeapAlloc(GetProcessHeap(), 0, strlen(str)+1);
       

 From this it's obvious that pglGetString is returning a null pointer. 
It would be better to do something like this instead:

    str = (const char *) pglGetString(GL_EXTENSIONS);
    if(str == 0)
    {
         ERR( "Couldn't find GL_EXTENSIONS string, disabling OpenGL.\n" );
         goto done;
    }
    WineGLInfo.glExtensions = HeapAlloc(GetProcessHeap(), 0, strlen(str)+1);
       

What do you think?

       

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20110322/26b8bae0/attachment.htm>


More information about the wine-devel mailing list