[Mesa-dev] glxinfo proposed change

Dan Nicholson dbn.lists at gmail.com
Mon Jan 7 06:31:02 PST 2013


On Mon, Jan 7, 2013 at 5:06 AM, Jorge Ramirez Ortiz,  HCL Europe
<Jorge.Ramirez-Ortiz at hcl.com> wrote:
> Hi all,
>
> Does this patch make sense? glVersion can be NULL and not having the changes below could cause a SIGSEGV
>
> [jramirez at calypso-2 mesa-demos.git (tmp *)]$ git diff src/xdemos/glxinfo.c
> diff --git a/src/xdemos/glxinfo.c b/src/xdemos/glxinfo.c
> index aa6430d..97b6539 100644
> --- a/src/xdemos/glxinfo.c
> +++ b/src/xdemos/glxinfo.c
> @@ -639,7 +639,7 @@ print_screen_info(Display *dpy, int scrnum, Bool allowDirect, Bool limits, Bool
>        printf("OpenGL renderer string: %s\n", glRenderer);
>        printf("OpenGL version string: %s\n", glVersion);
>  #ifdef GL_VERSION_2_0
> -      if (glVersion[0] >= '2' && glVersion[1] == '.') {
> +      if (glVersion && glVersion[0] >= '2' && glVersion[1] == '.') {
>           char *v = (char *) glGetString(GL_SHADING_LANGUAGE_VERSION);
>           printf("OpenGL shading language version string: %s\n", v);
>        }

Normally, this is a good idea. However, glVersion is already
dereferenced in the printf on the previous line. So, any actual
checking for NULL glVersion should at least come earlier in the
function. On the other hand, returning NULL from
glGetString(GL_VERSION) might be so rare that bothering to guard for
it would be more effort than it's worth.

--
Dan


More information about the mesa-dev mailing list