1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-22 14:08:06 +01:00
Files
wmaker/wrlib
Martin Frydl 1f3adb0ea5 Patch for WINGs buffer overflow
I've found a buffer overflow problem in RSmoothScaleImage. There are
some scaling calculations involving floats which are finally converted
to integers. Since such conversion does not round the number, just
truncates the decimal part, sometimes the number is smaller than it
should be. As a result, smaller buffer is allocated for picture
scaling and thus buffer overflow occurs.

Strange thing is that this bug has not appeared earlier so it probably
has something to do with newer gcc or glibc (I switch from
"prehistoric" Fedora Core 5 to Fedora 12).

<What about the symptoms?>

There were several ones, probably depending on application version and
compilation flags. First, it just stopped responding. Looking at the
process with strace I saw it locked in some FUTEX wait (unfortunately
I don't have the logs). Second, it just crashed. And last I got
complaint from glibc about double free or corrupted heap before
malloc. I've found the bug through wmweather+ dockapp, versions 2.9
and 2.11 (http://sourceforge.net/projects/wmweatherplus/), I've never
encountered it in WindowMaker itself.
2010-02-26 13:15:18 +01:00
..
2009-09-13 12:59:25 +02:00
1998-09-29 22:36:29 +00:00
2004-10-12 21:28:27 +00:00
2002-09-30 12:39:22 +00:00
2009-09-03 21:10:48 +02:00
2009-09-13 21:40:47 +02:00
1998-09-29 22:36:29 +00:00
2009-08-20 00:59:40 +02:00
2009-08-20 00:59:40 +02:00
1998-09-29 22:36:29 +00:00
2009-08-20 00:59:40 +02:00
2009-08-20 00:59:40 +02:00
2009-08-20 00:59:40 +02:00
2001-04-21 07:12:21 +00:00
2009-09-09 22:18:34 +02:00
2009-09-03 21:10:48 +02:00
2009-08-20 00:59:40 +02:00
1998-09-29 22:36:29 +00:00
2009-08-20 00:59:40 +02:00
2010-02-26 13:15:18 +01:00
2009-08-20 00:59:40 +02:00
2002-09-30 12:39:22 +00:00
2009-08-09 01:51:25 +02:00
2009-08-20 00:59:40 +02:00
2009-08-29 21:49:22 +02:00

WindowMaker raster graphics library

This library is used to manipulate images and convert them to
a format that can be displayed through the X window system.
Read the wraster.h header for an idea of what is available


This Library is LGPL and 
Copyright (c) Alfredo K. Kojima <kojima@inf.ufrgs.br>


The following environment variables control some parameters:

RIMAGE_CACHE <integer>

Is the maximum number of images to store in the internal cache.
Default is 8

RIMAGE_CACHE_SIZE <integer>

Is the size of the biggest image to store in the cache.
Default is 4k (64x64)



Porting
=======

It should be fairly easy to port it to other environments 
(svgalib, libggi etc), probably only requiring wraster.h,
context.c and convert.c to be changed. Note that the X specific
code should be disabled in that case, including support for libXpm.