This is an automated email from the git hooks/post-receive script. sebastic pushed a commit to branch master in repository freexl.
commit a6cb9c930c1a2d78ddb67008d9da3a97ccbd2d9e Author: Bas Couwenberg <sebas...@xs4all.nl> Date: Sat Mar 7 12:59:42 2015 +0100 Imported Upstream version 1.0.0i --- configure | 20 ++++++++++---------- configure.ac | 2 +- src/freexl.c | 21 ++++++++++++++++++++- 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/configure b/configure index 44b5f23..91e18df 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for FreeXL 1.0.0h. +# Generated by GNU Autoconf 2.69 for FreeXL 1.0.0i. # # Report bugs to <a.furi...@lqt.it>. # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='FreeXL' PACKAGE_TARNAME='freexl' -PACKAGE_VERSION='1.0.0h' -PACKAGE_STRING='FreeXL 1.0.0h' +PACKAGE_VERSION='1.0.0i' +PACKAGE_STRING='FreeXL 1.0.0i' PACKAGE_BUGREPORT='a.furi...@lqt.it' PACKAGE_URL='' @@ -1326,7 +1326,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures FreeXL 1.0.0h to adapt to many kinds of systems. +\`configure' configures FreeXL 1.0.0i to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1396,7 +1396,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of FreeXL 1.0.0h:";; + short | recursive ) echo "Configuration of FreeXL 1.0.0i:";; esac cat <<\_ACEOF @@ -1508,7 +1508,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -FreeXL configure 1.0.0h +FreeXL configure 1.0.0i generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2052,7 +2052,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by FreeXL $as_me 1.0.0h, which was +It was created by FreeXL $as_me 1.0.0i, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2923,7 +2923,7 @@ fi # Define the identity of the package. PACKAGE='freexl' - VERSION='1.0.0h' + VERSION='1.0.0i' cat >>confdefs.h <<_ACEOF @@ -17812,7 +17812,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by FreeXL $as_me 1.0.0h, which was +This file was extended by FreeXL $as_me 1.0.0i, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -17878,7 +17878,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -FreeXL config.status 1.0.0h +FreeXL config.status 1.0.0i configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 0687e47..6f4d3cb 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.61) -AC_INIT(FreeXL, 1.0.0h, a.furi...@lqt.it) +AC_INIT(FreeXL, 1.0.0i, a.furi...@lqt.it) AC_LANG(C) AC_CONFIG_AUX_DIR([.]) AC_CONFIG_MACRO_DIR([m4]) diff --git a/src/freexl.c b/src/freexl.c index c33e8fe..3bf4742 100644 --- a/src/freexl.c +++ b/src/freexl.c @@ -1068,6 +1068,11 @@ allocate_cells (biff_workbook * workbook) unsigned int col; biff_cell_value *p_cell; + if (workbook == NULL) + return FREEXL_NULL_ARGUMENT; + if (workbook->active_sheet == NULL) + return FREEXL_NULL_ARGUMENT; + /* allocating the cell values array */ workbook->active_sheet->cell_values = malloc (sizeof (biff_cell_value) * @@ -1713,6 +1718,11 @@ parse_SST (biff_workbook * workbook, int swap) swap32 (&n_strings); p_string = workbook->record + 8; workbook->shared_strings.string_count = n_strings.value; + if (workbook->shared_strings.string_count > 1024 * 1024) + { + /* unexpected huge count ... cowardly giving up ... */ + return FREEXL_INSUFFICIENT_MEMORY; + } workbook->shared_strings.utf8_strings = malloc (sizeof (char **) * workbook->shared_strings.string_count); for (i_string = 0; i_string < workbook->shared_strings.string_count; @@ -3749,6 +3759,8 @@ read_biff_next_record (biff_workbook * workbook, int swap, int *errcode) unsigned int already_done; unsigned int chunk = workbook->sector_end - (workbook->p_in - workbook->sector_buf); + if (workbook->sector_end <= (workbook->p_in - workbook->sector_buf)) + return -1; memcpy (workbook->record, workbook->p_in, chunk); workbook->p_in += chunk; already_done = chunk; @@ -3825,6 +3837,10 @@ read_mini_biff_next_record (biff_workbook * workbook, int swap, int *errcode) workbook->record_type = record_type.value; workbook->record_size = record_size.value; + if ((workbook->p_in - workbook->fat->miniStream) + workbook->record_size > + (int) workbook->size) + return 0; /* unexpected EOF */ + memcpy (workbook->record, workbook->p_in, workbook->record_size); workbook->p_in += record_size.value; @@ -4062,7 +4078,10 @@ common_open (const char *path, const void **xls_handle, int magic) p_sheet->columns += 1; ret = allocate_cells (workbook); if (ret != FREEXL_OK) - return ret; + { + errcode = ret; + goto stop; + } p_sheet->valid_dimension = 1; workbook->second_pass = 1; } -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/freexl.git _______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel