Hello community, here is the log from the commit of package xgl checked in at Fri Mar 28 02:19:48 CET 2008. -------- --- xgl/xgl.changes 2008-03-12 22:42:19.000000000 +0100 +++ /mounts/work_src_done/STABLE/xgl/xgl.changes 2008-03-26 15:27:31.000000000 +0100 @@ -1,0 +2,5 @@ +Mon Mar 26 00:00:00 CET 2008 - mauro@suse.de + +- change find and delete command + +------------------------------------------------------------------- @@ -8 +13 @@ -Fri Mar 7 21:43:24 CET 2008 - mauro@suse.de +Fri Mar 7 21:43:24 CET 2008 - mauro@suse.de @@ -10 +15 @@ -- Fix bnc-356596. Added: +- Fix bnc-356596. Added: @@ -44 +49 @@ - * fixes build against X.Org 7.3 + * fixes build against X.Org 7.3 Old: ---- bnc-345496.patch bug-345127_IDEF2888_le_xserver1.3.patch New: ---- bnc-345496.diff bug-345127_IDEF2888_le_xserver1.3.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xgl.spec ++++++ --- /var/tmp/diff_new_pack.I13614/_old 2008-03-28 02:19:19.000000000 +0100 +++ /var/tmp/diff_new_pack.I13614/_new 2008-03-28 02:19:19.000000000 +0100 @@ -25,7 +25,7 @@ Requires: xgl-hardware-list AutoReqProv: on Version: git_071026 -Release: 45 +Release: 49 Summary: Xserver that uses OpenGL for its drawing operations. BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %ix86 x86_64 ppc ppc64 ia64 @@ -49,14 +49,14 @@ Patch15: 180716.diff # Pre- Xorg 7.0 patches Patch20: xorg-security-file-dir.diff -Patch21: bug-345127_IDEF2888_le_xserver1.3.patch +Patch21: bug-345127_IDEF2888_le_xserver1.3.diff Patch22: bug345128-IDEF2901.diff Patch24: bug345130-IDEF2902.diff Patch25: bug345131-IDEF2904.diff Patch26: bug348296-pcf_font_parser.diff Patch27: bug-243978_xcmisc.diff Patch28: bug343248-CVE-2007-5958.diff -Patch29: bnc-345496.patch +Patch29: bnc-345496.diff # Non-xgl patches Patch30: glitz-glx-get-proc-address.diff %if "%(xft-config --prefix)" == "/usr" @@ -188,6 +188,7 @@ install -m 444 %_sourcedir/README.* . install -m 644 %_sourcedir/sysconfig.displaymanager.template %buildroot/var/adm/fillup-templates/sysconfig.displaymanager-%name rm -rf $PREFIX +find %buildroot \( -name \*.a -o -name \*.la \) -print0 | xargs -0 rm -f find %buildroot \( -name \*.a -o -name \*.la \) -print -execdir rm \{\} + rm %buildroot/%xorg_prefix/%_lib/pkgconfig/xorg-server.pc rm -rf %buildroot/usr/%_lib/pkgconfig %buildroot/usr/include @@ -219,6 +220,8 @@ /var/adm/fillup-templates/sysconfig.displaymanager-%name %changelog +* Wed Mar 26 2008 mauro@suse.de +- change find and delete command * Wed Mar 12 2008 mauro@suse.de - Added bnc-345496.patch to fix bnc-345496 (X Server XFree86-MISC Extension Invalid Array Index Vulnerability) ++++++ bnc-345496.diff ++++++ diff -Naur xorg-server-1.1.99.1/hw/xfree86/common/xf86MiscExt.c xorg-server-1.1.99.1-mp/hw/xfree86/common/xf86MiscExt.c --- xorg-server-1.1.99.1/hw/xfree86/common/xf86MiscExt.c 2006-04-13 17:29:20.000000000 +0200 +++ xorg-server-1.1.99.1-mp/hw/xfree86/common/xf86MiscExt.c 2008-03-12 19:31:20.704087000 +0100 @@ -647,6 +647,10 @@ DEBUG_P("MiscExtPassMessage"); + /* should check this in the protocol, but xf86NumScreens isn't exported */ + if (scrnIndex > xf86NumScreens) + return BadValue; + if (*pScr->HandleMessage == NULL) return BadImplementation; return (*pScr->HandleMessage)(scrnIndex, msgtype, msgval, retstr); ++++++ bug-345127_IDEF2888_le_xserver1.3.diff ++++++ # # Updated but not checked in: # (will commit) # # modified: Xi/chgfctl.c # modified: Xi/chgkmap.c # modified: Xi/chgprop.c # modified: Xi/grabdev.c # modified: Xi/grabdevb.c # modified: Xi/grabdevk.c # modified: Xi/selectev.c # modified: Xi/sendexev.c # diff --git a/Xi/chgfctl.c b/Xi/chgfctl.c index 46bb8e7..1a02eee 100644 --- a/Xi/chgfctl.c +++ b/Xi/chgfctl.c @@ -303,18 +303,13 @@ ChangeStringFeedback(ClientPtr client, D xStringFeedbackCtl * f) { register char n; - register long *p; int i, j; KeySym *syms, *sup_syms; syms = (KeySym *) (f + 1); if (client->swapped) { swaps(&f->length, n); /* swapped num_keysyms in calling proc */ - p = (long *)(syms); - for (i = 0; i < f->num_keysyms; i++) { - swapl(p, n); - p++; - } + SwapLongs((CARD32 *) syms, f->num_keysyms); } if (f->num_keysyms > s->ctrl.max_symbols) diff --git a/Xi/chgkmap.c b/Xi/chgkmap.c index bfdc1ce..d0b29b8 100644 --- a/Xi/chgkmap.c +++ b/Xi/chgkmap.c @@ -76,18 +76,14 @@ int SProcXChangeDeviceKeyMapping(ClientPtr client) { register char n; - register long *p; - register int i, count; + register unsigned int count; REQUEST(xChangeDeviceKeyMappingReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xChangeDeviceKeyMappingReq); - p = (long *)&stuff[1]; count = stuff->keyCodes * stuff->keySymsPerKeyCode; - for (i = 0; i < count; i++) { - swapl(p, n); - p++; - } + REQUEST_FIXED_SIZE(xChangeDeviceKeyMappingReq, count * sizeof(CARD32)); + SwapLongs((CARD32 *) (&stuff[1]), count); return (ProcXChangeDeviceKeyMapping(client)); } @@ -103,10 +99,14 @@ ProcXChangeDeviceKeyMapping(ClientPtr cl int ret; unsigned len; DeviceIntPtr dev; + unsigned int count; REQUEST(xChangeDeviceKeyMappingReq); REQUEST_AT_LEAST_SIZE(xChangeDeviceKeyMappingReq); + count = stuff->keyCodes * stuff->keySymsPerKeyCode; + REQUEST_FIXED_SIZE(xChangeDeviceKeyMappingReq, count * sizeof(CARD32)); + dev = LookupDeviceIntRec(stuff->deviceid); if (dev == NULL) return BadDevice; diff --git a/Xi/chgprop.c b/Xi/chgprop.c index 13463dd..c6e6993 100644 --- a/Xi/chgprop.c +++ b/Xi/chgprop.c @@ -78,19 +78,15 @@ int SProcXChangeDeviceDontPropagateList(ClientPtr client) { register char n; - register long *p; - register int i; REQUEST(xChangeDeviceDontPropagateListReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xChangeDeviceDontPropagateListReq); swapl(&stuff->window, n); swaps(&stuff->count, n); - p = (long *)&stuff[1]; - for (i = 0; i < stuff->count; i++) { - swapl(p, n); - p++; - } + REQUEST_FIXED_SIZE(xChangeDeviceDontPropagateListReq, + stuff->count * sizeof(CARD32)); + SwapLongs((CARD32 *) (&stuff[1]), stuff->count); return (ProcXChangeDeviceDontPropagateList(client)); } diff --git a/Xi/grabdev.c b/Xi/grabdev.c index b303695..8cca85f 100644 --- a/Xi/grabdev.c +++ b/Xi/grabdev.c @@ -79,8 +79,6 @@ int SProcXGrabDevice(ClientPtr client) { register char n; - register long *p; - register int i; REQUEST(xGrabDeviceReq); swaps(&stuff->length, n); @@ -88,11 +86,11 @@ SProcXGrabDevice(ClientPtr client) swapl(&stuff->grabWindow, n); swapl(&stuff->time, n); swaps(&stuff->event_count, n); - p = (long *)&stuff[1]; - for (i = 0; i < stuff->event_count; i++) { - swapl(p, n); - p++; - } + + if (stuff->length != (sizeof(xGrabDeviceReq) >> 2) + stuff->event_count) + return BadLength; + + SwapLongs((CARD32 *) (&stuff[1]), stuff->event_count); return (ProcXGrabDevice(client)); } diff --git a/Xi/grabdevb.c b/Xi/grabdevb.c index 21e46fc..3674441 100644 --- a/Xi/grabdevb.c +++ b/Xi/grabdevb.c @@ -77,8 +77,6 @@ int SProcXGrabDeviceButton(ClientPtr client) { register char n; - register long *p; - register int i; REQUEST(xGrabDeviceButtonReq); swaps(&stuff->length, n); @@ -86,11 +84,9 @@ SProcXGrabDeviceButton(ClientPtr client) swapl(&stuff->grabWindow, n); swaps(&stuff->modifiers, n); swaps(&stuff->event_count, n); - p = (long *)&stuff[1]; - for (i = 0; i < stuff->event_count; i++) { - swapl(p, n); - p++; - } + REQUEST_FIXED_SIZE(xGrabDeviceButtonReq, + stuff->event_count * sizeof(CARD32)); + SwapLongs((CARD32 *) (&stuff[1]), stuff->event_count); return (ProcXGrabDeviceButton(client)); } diff --git a/Xi/grabdevk.c b/Xi/grabdevk.c index 8da36ba..b6374c1 100644 --- a/Xi/grabdevk.c +++ b/Xi/grabdevk.c @@ -77,8 +77,6 @@ int SProcXGrabDeviceKey(ClientPtr client) { register char n; - register long *p; - register int i; REQUEST(xGrabDeviceKeyReq); swaps(&stuff->length, n); @@ -86,11 +84,8 @@ SProcXGrabDeviceKey(ClientPtr client) swapl(&stuff->grabWindow, n); swaps(&stuff->modifiers, n); swaps(&stuff->event_count, n); - p = (long *)&stuff[1]; - for (i = 0; i < stuff->event_count; i++) { - swapl(p, n); - p++; - } + REQUEST_FIXED_SIZE(xGrabDeviceKeyReq, stuff->event_count * sizeof(CARD32)); + SwapLongs((CARD32 *) (&stuff[1]), stuff->event_count); return (ProcXGrabDeviceKey(client)); } diff --git a/Xi/selectev.c b/Xi/selectev.c index a5cf567..2fb8aa7 100644 --- a/Xi/selectev.c +++ b/Xi/selectev.c @@ -128,19 +128,16 @@ int SProcXSelectExtensionEvent(ClientPtr client) { register char n; - register long *p; - register int i; REQUEST(xSelectExtensionEventReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xSelectExtensionEventReq); swapl(&stuff->window, n); swaps(&stuff->count, n); - p = (long *)&stuff[1]; - for (i = 0; i < stuff->count; i++) { - swapl(p, n); - p++; - } + REQUEST_FIXED_SIZE(xSelectExtensionEventReq, + stuff->count * sizeof(CARD32)); + SwapLongs((CARD32 *) (&stuff[1]), stuff->count); + return (ProcXSelectExtensionEvent(client)); } diff --git a/Xi/sendexev.c b/Xi/sendexev.c index 20b415a..5292ad2 100644 --- a/Xi/sendexev.c +++ b/Xi/sendexev.c @@ -80,7 +80,7 @@ int SProcXSendExtensionEvent(ClientPtr client) { register char n; - register long *p; + register CARD32 *p; register int i; xEvent eventT; xEvent *eventP; @@ -91,6 +91,11 @@ SProcXSendExtensionEvent(ClientPtr clien REQUEST_AT_LEAST_SIZE(xSendExtensionEventReq); swapl(&stuff->destination, n); swaps(&stuff->count, n); + + if (stuff->length != (sizeof(xSendExtensionEventReq) >> 2) + stuff->count + + (stuff->num_events * (sizeof(xEvent) >> 2))) + return BadLength; + eventP = (xEvent *) & stuff[1]; for (i = 0; i < stuff->num_events; i++, eventP++) { proc = EventSwapVector[eventP->u.u.type & 0177]; @@ -100,11 +105,8 @@ SProcXSendExtensionEvent(ClientPtr clien *eventP = eventT; } - p = (long *)(((xEvent *) & stuff[1]) + stuff->num_events); - for (i = 0; i < stuff->count; i++) { - swapl(p, n); - p++; - } + p = (CARD32 *)(((xEvent *) & stuff[1]) + stuff->num_events); + SwapLongs(p, stuff->count); return (ProcXSendExtensionEvent(client)); } ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org