summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* libXpm 3.5.12libXpm-3.5.12Matthieu Herrb2016-12-121-1/+1
| | | | Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
* Handle size_t in file/buffer lengthTobias Stoeckmann2016-12-122-1/+5
| | | | | | | | The values of file sizes and buffer sizes can exceed current limits. Therefore, use proper variable types for these operations. Signed-off-by: Matthieu Herrb <matthieu@herrb.eu> Reviewed-by: Matthieu Herrb <matthieu@herrb.eu>
* Avoid OOB write when handling malicious XPM files.Tobias Stoeckmann2016-12-121-9/+25
| | | | | | | | | | | | | | | | | libXpm uses unsigned int to store sizes, which fits size_t on 32 bit systems, but leads to issues on 64 bit systems. On 64 bit systems, it is possible to overflow 32 bit integers while parsing XPM extensions in a file. At first, it looks like a rather unimportant detail, because nobody will seriously open a 4 GB file. But unfortunately XPM has support for gzip compression out of the box. An attacker can therefore craft a compressed file which is merely 4 MB in size, which makes an attack much for feasable. Signed-off-by: Matthieu Herrb <matthieu@herrb.eu> Reviewed-by: Matthieu Herrb <matthieu@herrb.eu>
* Gracefully handle EOF while parsing files.Tobias Stoeckmann2016-12-121-8/+32
| | | | | | | | | | | | | | | | | libXpm does not properly handle EOF conditions when xpmGetC is called multiple times in a row to construct a string. Instead of checking its return value for EOF, the result is automatically casted into a char and attached to a string. By carefully crafting the color table in an XPM file, it is possible to send a libXpm program like gimp into a very long lasting loop and massive memory allocations. Otherwise no memory issues arise, therefore this is just a purely functional patch to dismiss invalid input. Signed-off-by: Matthieu Herrb <matthieu@herrb.eu> Reviewed-by: Matthieu Herrb <Matthieu@herrb.eu>
* Fix out out boundary read on unknown colorsTobias Stoeckmann2016-12-121-1/+2
| | | | | | | | | | | | libXpm is vulnerable to an out of boundary read if an XPM file contains a color with a symbolic name but without any default color value. A caller must set XpmColorSymbols and a color with a NULL name in the supplied XpmAttributes to XpmReadFileToImage (or other functions of this type) in order to trigger this issue. Signed-off-by: Matthieu Herrb <matthieu@herrb.eu> Reviewed-by: Matthieu Herrb <matthieu@herrb.eu>
* Fix abs() usage.Jörg Sonnenberger2014-03-191-4/+4
| | | | | | | For long arguments, use labs(). Reviewed-by: Matt Turner <mattst88@gmail.com> Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
* libXpm 3.5.11libXpm-3.5.11Alan Coopersmith2013-09-071-1/+1
| | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* Fix typo in COPYING (matches src/amigax.h)Alan Coopersmith2013-09-071-1/+1
| | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* Add noreturn attributes suggested by gccAlan Coopersmith2013-08-022-6/+4
| | | | | | | Remove extra bogus return added to avoid warnings when calling Punt() since gcc didn't know it would never return. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* doclifter can't handle more than one dash in a name line.Eric S. Raymond2013-06-191-1/+1
|
* Fix libXpm build with NO_ZPIPEClaudio Bley2013-05-311-1/+2
| | | | | | | | | | | When NO_ZPIPE is defined, fcntl.h is not included in WrFFrI.c although OpenWriteFile uses open, O_WRONLY, O_CREAT and O_TRUNC. * src/WrFFrI.c: unconditionally include fcntl.h regardless of NO_ZPIPE being defined or not. Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* Added 'const' attribute to all filename arguments in the APIChristophe CURIS2013-05-319-20/+20
| | | | | | | | | | | | | | The filename is always a read-only argument, so it is a good idea to let the caller now about it. This patch does not change active code; the place where the attribute is added will not break source-level compatibility because it adds no restriction on caller side, just adds information; because the lib code behaved the same way it will not break the binary interface either. Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* Added 'const' qualifier to the filename argument to internal functionsChristophe CURIS2013-05-312-4/+4
| | | | | Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* Close fd if fdopen() or xpmPipeThrough() fails in OpenWriteFile()Alan Coopersmith2013-04-231-1/+3
| | | | | | | | | | | | Fixes leak found by parfait 1.1 bug checking tool: File Descriptor Leak: Leaked File Descriptor fd at line 350 of lib/libXpm/src/WrFFrI.c in function 'OpenWriteFile'. fd initialized at line 332 with open fd leaks when strcmp(".Z", (filename + (len - 2))) != 0 at line 337 and strcmp(".gz", (filename + (len - 3))) != 0 at line 340. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
* autogen.sh: Implement GNOME Build APIbaserock/morphColin Walters2013-01-151-1/+3
| | | | | | http://people.gnome.org/~walters/docs/build-api.txt Signed-off-by: Adam Jackson <ajax@redhat.com>
* configure: Remove AM_MAINTAINER_MODEAdam Jackson2013-01-151-1/+0
| | | | Signed-off-by: Adam Jackson <ajax@redhat.com>
* Define NO_ZPIPE when building for MinGWJon TURNEY2012-10-271-0/+9
| | | | | | | | | | Define NO_ZPIPE when building for MinGW, decompressing via a pipe isn't implemented. (since xpmPipeThrough() is only written in terms of fork() currently...) Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Colin Harrison <colin.harrison@virgin.net> Reviewed-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net> Reviewed-by: Ángel González <ingenit@zoho.com>
* libXpm 3.5.10libXpm-3.5.10Alan Coopersmith2012-03-071-1/+1
| | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* closeness_cmp: maintain constness when casting pointersAlan Coopersmith2011-11-181-1/+1
| | | | | | | | create.c: In function 'closeness_cmp': create.c:224:5: warning: cast discards qualifiers from pointer target type create.c:224:5: warning: cast discards qualifiers from pointer target type Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* sxpm: make ErrorMessage take const char * arg to fix -Wwrite-strings warningsAlan Coopersmith2011-11-181-2/+2
| | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* Include missing headersJeremy Huddleston2011-11-111-0/+2
| | | | | | This fixes implicit declarations for strdup and strcasecmp. Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
* Fix gcc -Wwrite-strings warnings that don't require public API changesAlan Coopersmith2011-11-105-18/+23
| | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* Assume C89 and just use const, not local Const macroAlan Coopersmith2011-11-103-11/+5
| | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* Link sxpm against -lX11Julien Cristau2011-09-241-1/+1
| | | | | | It calls various Xlib functions so should link with -lX11 directly. Signed-off-by: Julien Cristau <jcristau@debian.org>
* Strip trailing whitespaceAlan Coopersmith2011-09-1623-180/+180
| | | | | | | Performed with: find * -type f | xargs perl -i -p -e 's{[ \t]+$}{}' git diff -w & git diff -b show no diffs from this change Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* man: add missing title header (.TH) __xorgversion__Gaetan Nadon2011-03-052-2/+2
| | | | Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
* config: move man pages into their own directoryGaetan Nadon2011-03-057-50/+55
| | | | | | | As per X.Org guidelines. Fix whitespace issues. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
* config: minor layout change in configure.acGaetan Nadon2011-02-021-5/+4
| | | | | | | | | | | Group statements per section as per Autoconf standard layout Quote statements where appropriate. No functional configuration changes This helps automated maintenance and release activities. Details can be found in http://wiki.x.org/wiki/NewModuleGuidelines Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
* libXpm 3.5.9libXpm-3.5.9Alan Coopersmith2010-10-291-1/+1
| | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* config: remove obsolete FILES file from the Imakefile daysGaetan Nadon2010-10-252-69/+1
| | | | | | | It lists the files contained in the original BULL Research Koala Project. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
* doc: move doc files to the newly created doc dir.Gaetan Nadon2010-10-249-11/+11
| | | | | | As per guidelines for all xorg modules. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
* config: provide a Makefile for the include directoryGaetan Nadon2010-10-244-4/+3
| | | | | | | Reduce some complexity in the src makefile as it should not handle sibling directories. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
* libXpm make: remove redundant -I.Gaetan Nadon2010-10-241-1/+1
| | | | | | It is always included by Automake Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
* sxpm make: no need to use a per target LDADDGaetan Nadon2010-10-241-1/+1
| | | | | | There is only one program in this makefile. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
* sxpm make: remove redundant $(XMP_LIBS) linker flagsGaetan Nadon2010-10-241-1/+1
| | | | | | SXPM_LIBS contains the complete list of dependencies. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
* src make: remove -I$(top_builddir)/includeGaetan Nadon2010-10-241-2/+1
| | | | | | | This directory does not exist, only object code is created in "builddir". Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
* config: fix warnings, m4 quoting and layoutGaetan Nadon2010-10-141-10/+14
| | | | | | | | | Fix some m4 quoting Fix some autoconf warnings Regroup statements per section Add comments Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
* config: AC_OUTPUT with parms is deprecated, use AC_CONFIG_FILESGaetan Nadon2010-10-141-5/+6
| | | | Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
* config: AC_HELP_STRING is deprecated, use AS_HELP_STRINGGaetan Nadon2010-10-141-2/+2
| | | | Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
* config: remove unrequired AC_SUBST(XPM_CFLAGS)Gaetan Nadon2010-10-141-2/+0
| | | | | | This macro is called by PKG_CHECK_MODULES Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
* config: remove AC_PROG_CC as it overrides AC_PROG_C_C99Gaetan Nadon2010-10-141-1/+0
| | | | | | | | XORG_STRICT_OPTION from XORG_DEFAULT_OPTIONS calls AC_PROG_C_C99. This sets gcc with -std=gnu99. If AC_PROG_CC macro is called afterwards, it resets CC to gcc. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
* config: remove unrequired AC_HEADER_STDCGaetan Nadon2010-10-141-3/+0
| | | | | | | | Autoconf says: "This macro is obsolescent, as current systems have conforming header files. New programs need not use this macro". Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
* config: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERSGaetan Nadon2010-10-141-2/+1
| | | | | | Regroup AC statements at the top. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
* sxpm: use MAN_SUBST now supplied in XORG_MANPAGE_SECTIONSGaetan Nadon2010-10-141-18/+2
| | | | | | | | The value of MAN_SUBST is the same for all X.Org packages. Use the appropriate platform version of sed Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
* cxpm: use MAN_SUBST now supplied in XORG_MANPAGE_SECTIONSGaetan Nadon2010-10-141-18/+2
| | | | | | The value of MAN_SUBST is the same for all X.Org packages. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
* config: use AC_PROG_INSTALL now supplied by XORG_DEFAULT_OPTIONSGaetan Nadon2010-10-141-2/+0
| | | | | | | | It depends on util-macros 1.8 The LT_AC_PROG_SED macro was never released by libtool. Neither man makefile actually used $SED anyway. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
* config: upgrade to util-macros 1.8 for additional man page supportGaetan Nadon2010-10-141-3/+3
| | | | | | | Use MAN_SUBST now supplied in XORG_MANPAGE_SECTIONS The value of MAN_SUBST is the same for all X.Org packages. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
* Missing end comment in libXpm/src/parse.cColin Harrison2010-10-071-0/+1
| | | | | | CVS tag removal chopped too much out in this case... Signed-off-by: Julien Cristau <jcristau@debian.org>
* Purge cvs tags.Jesse Adkins2010-10-0613-18/+0
| | | | | Signed-off-by: Jesse Adkins <jesserayadkins@gmail.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* config: update AC_PREREQ statement to 2.60Gaetan Nadon2010-04-011-1/+1
| | | | | | | | | | Unrelated to the previous patches, the new value simply reflects the reality that the minimum level for autoconf to configure all x.org modules is 2.60 dated June 2006. ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.gz Signed-off-by: Gaetan Nadon <memsize@videotron.ca>