Make sure drivers don't dereference a NULL pointer if

__driUtilCreateNewScreen returns NULL.
This commit is contained in:
Ian Romanick 2004-03-26 02:02:48 +00:00
parent 301e55c6cd
commit 3623579e43
5 changed files with 48 additions and 48 deletions

View File

@ -439,15 +439,15 @@ void * __driCreateNewScreen( Display *dpy, int scrn, __DRIscreen *psc,
ddx_version, dri_version, drm_version,
frame_buffer, pSAREA, fd,
internal_api_version, &i810API);
create_context_modes =
(PFNGLXCREATECONTEXTMODES) glXGetProcAddress( (const GLubyte *) "__glXCreateContextModes" );
if ( psp != NULL ) {
create_context_modes = (PFNGLXCREATECONTEXTMODES)
glXGetProcAddress( (const GLubyte *) "__glXCreateContextModes" );
if ( create_context_modes != NULL ) {
*driver_modes = i810FillInModes( 16,
16, 0,
1);
}
}
return (void *) psp;
}

View File

@ -538,10 +538,9 @@ void * __driCreateNewScreen( Display *dpy, int scrn, __DRIscreen *psc,
ddx_version, dri_version, drm_version,
frame_buffer, pSAREA, fd,
internal_api_version, &mach64API);
create_context_modes =
(PFNGLXCREATECONTEXTMODES) glXGetProcAddress( (const GLubyte *) "__glXCreateContextModes" );
if ( psp != NULL ) {
create_context_modes = (PFNGLXCREATECONTEXTMODES)
glXGetProcAddress( (const GLubyte *) "__glXCreateContextModes" );
if ( create_context_modes != NULL ) {
ATIDRIPtr dri_priv = (ATIDRIPtr) psp->pDevPriv;
*driver_modes = mach64FillInModes( dri_priv->cpp * 8,
@ -549,6 +548,7 @@ void * __driCreateNewScreen( Display *dpy, int scrn, __DRIscreen *psc,
0,
1);
}
}
return (void *) psp;
}

View File

@ -967,10 +967,9 @@ void * __driCreateNewScreen( Display *dpy, int scrn, __DRIscreen *psc,
ddx_version, dri_version, drm_version,
frame_buffer, pSAREA, fd,
internal_api_version, &mgaAPI);
create_context_modes =
(PFNGLXCREATECONTEXTMODES) glXGetProcAddress( (const GLubyte *) "__glXCreateContextModes" );
if ( psp != NULL ) {
create_context_modes = (PFNGLXCREATECONTEXTMODES)
glXGetProcAddress( (const GLubyte *) "__glXCreateContextModes" );
if ( create_context_modes != NULL ) {
MGADRIPtr dri_priv = (MGADRIPtr) psp->pDevPriv;
*driver_modes = mgaFillInModes( dri_priv->cpp * 8,
@ -978,6 +977,7 @@ void * __driCreateNewScreen( Display *dpy, int scrn, __DRIscreen *psc,
(dri_priv->cpp == 2) ? 0 : 8,
(dri_priv->backOffset != dri_priv->depthOffset) );
}
}
return (void *) psp;
}

View File

@ -640,10 +640,9 @@ void * __driCreateNewScreen( Display *dpy, int scrn, __DRIscreen *psc,
ddx_version, dri_version, drm_version,
frame_buffer, pSAREA, fd,
internal_api_version, &r200API);
create_context_modes =
(PFNGLXCREATECONTEXTMODES) glXGetProcAddress( (const GLubyte *) "__glXCreateContextModes" );
if ( psp != NULL ) {
create_context_modes = (PFNGLXCREATECONTEXTMODES)
glXGetProcAddress( (const GLubyte *) "__glXCreateContextModes" );
if ( create_context_modes != NULL ) {
RADEONDRIPtr dri_priv = (RADEONDRIPtr) psp->pDevPriv;
*driver_modes = r200FillInModes( dri_priv->bpp,
@ -651,6 +650,7 @@ void * __driCreateNewScreen( Display *dpy, int scrn, __DRIscreen *psc,
(dri_priv->bpp == 16) ? 0 : 8,
(dri_priv->backOffset != dri_priv->depthOffset) );
}
}
return (void *) psp;
}

View File

@ -602,10 +602,9 @@ void * __driCreateNewScreen( Display *dpy, int scrn, __DRIscreen *psc,
ddx_version, dri_version, drm_version,
frame_buffer, pSAREA, fd,
internal_api_version, &radeonAPI);
create_context_modes =
(PFNGLXCREATECONTEXTMODES) glXGetProcAddress( (const GLubyte *) "__glXCreateContextModes" );
if ( psp != NULL ) {
create_context_modes = (PFNGLXCREATECONTEXTMODES)
glXGetProcAddress( (const GLubyte *) "__glXCreateContextModes" );
if ( create_context_modes != NULL ) {
RADEONDRIPtr dri_priv = (RADEONDRIPtr) psp->pDevPriv;
*driver_modes = radeonFillInModes( dri_priv->bpp,
@ -613,6 +612,7 @@ void * __driCreateNewScreen( Display *dpy, int scrn, __DRIscreen *psc,
(dri_priv->bpp == 16) ? 0 : 8,
(dri_priv->backOffset != dri_priv->depthOffset) );
}
}
return (void *) psp;
}