Mercurial > sdl-ios-xcode
changeset 4151:cab9823cb55e SDL-1.2
Prevent crash from unaligned memory access on sparc64, etc.
Fixes Bugzilla #602. I suspect this will crash elsewhere if the system
actually had modelines to report, though.
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Mon, 08 Sep 2008 07:33:05 +0000 |
parents | 1019eb074a56 |
children | 39b9405d3cb6 |
files | src/video/Xext/Xxf86vm/XF86VMode.c |
diffstat | 1 files changed, 7 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/video/Xext/Xxf86vm/XF86VMode.c Thu Aug 07 20:55:45 2008 +0000 +++ b/src/video/Xext/Xxf86vm/XF86VMode.c Mon Sep 08 07:33:05 2008 +0000 @@ -214,6 +214,12 @@ return True; } +/* this is to prevent an unaligned memory write on CPUs that need that. */ +static void zap_ptr(char *ptr, size_t size) +{ + memset(ptr, '\0', size); +} + Bool SDL_NAME(XF86VidModeGetModeLine)(dpy, screen, dotclock, modeline) Display* dpy; @@ -284,7 +290,7 @@ } _XRead(dpy, (char*)modeline->private, modeline->privsize * sizeof(INT32)); } else { - modeline->private = NULL; + zap_ptr((char *)&modeline->private, sizeof(modeline->private)) } UnlockDisplay(dpy); SyncHandle();