Ticket #16402: msw_glcanvas_skip_null_attriblist.patch

File msw_glcanvas_skip_null_attriblist.patch, 1.4 KB (added by raysatiro, 4 years ago)

Avoid null deref of attribList parameter in MSW wxGLCanvas. Refer to comment #15.

  • src/msw/glcanvas.cpp

    diff --git a/src/msw/glcanvas.cpp b/src/msw/glcanvas.cpp
    index e130a97..58a3658 100644
    a b bool wxGLCanvas::Create(wxWindow *parent, 
    321321        glVersionMinor = 0;
    322322
    323323    // Check for a core profile request
    324     for ( int i = 0; attribList[i]; )
     324    if ( attribList )
    325325    {
    326         switch ( attribList[i++] )
     326        for ( int i = 0; attribList[i]; )
    327327        {
    328             case WX_GL_CORE_PROFILE:
    329                 useGLCoreProfile = true;
    330                 break;
     328            switch ( attribList[i++] )
     329            {
     330                case WX_GL_CORE_PROFILE:
     331                    useGLCoreProfile = true;
     332                    break;
    331333
    332             case WX_GL_MAJOR_VERSION:
    333                 glVersionMajor = attribList[i++];
    334                 break;
     334                case WX_GL_MAJOR_VERSION:
     335                    glVersionMajor = attribList[i++];
     336                    break;
    335337
    336             case WX_GL_MINOR_VERSION:
    337                 glVersionMinor = attribList[i++];
    338                 break;
     338                case WX_GL_MINOR_VERSION:
     339                    glVersionMinor = attribList[i++];
     340                    break;
    339341
    340             default:
    341                 // ignore all other flags for now
    342                 break;
     342                default:
     343                    // ignore all other flags for now
     344                    break;
     345            }
    343346        }
    344347    }
    345348