GLEW is calling glGetString(GL_EXTENSIONS) always for extensions even if the current context is a forward-compatible or core context. This is invalid behavior since glGetString(GL_EXTENSIONS) was deprecated in 3.0 for the Forward-Compatible context.
The best thing to do would be to instead:
1) Determine if glGetStringi is available. If so, always use glGetIntegerv(GL_NUM_EXTENSIONS, xxx) and glGetStringi(GL_EXTENSION, ) to determine if any extension exists.
2) Use glGetString if glGetStringi is not available (this should only be possible in an OpenGL implementation not supporting 3.0+).
I've seen this in 3 files : glew_init_gl.c, visualinfo.c, and mipmap.c.
I tried to make the changes myself, but the Visual Studio projects can't find many of the files after I synced.