Changeset 501


Ignore:
Timestamp:
Feb 29, 2016, 8:59:39 PM (9 years ago)
Author:
katerina
Message:

Fix for ticket #397 (regression in sh_static.c).

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/docs/Changelog

    r500 r501  
     14.1.3:
     2        * fix regression with '--enable-static' in sh_static.c
     3          (reported by amaiket).
    144.1.2:
    25        * add options --enable-selinux and --enable-posix-acl for "hard fail"
  • trunk/src/sh_static.c

    r481 r501  
    999999                return -1;
    10001000
    1001         while ((l = data[offset])) {
     1001        do {
    10021002
    10031003                if (offset < INT_MAX)
     
    10051005                else
    10061006                        return -1;
     1007
     1008                l = data[offset];
    10071009
    10081010                if ((l & 0xc0) == (0xc0)) {
     
    10181020                else
    10191021                  return -1;
    1020         }
     1022
     1023        } while (l);
    10211024
    10221025        return offset - orig_offset;
     
    10521055                if (offset < INT_MAX) offset++;
    10531056                else return -1;
    1054                 if (measure && (total < INT_MAX))
    1055                     total++;
     1057                if (measure)
     1058                    { if (total < INT_MAX) total++; else return -1; }
    10561059                if ((l & 0xc0) == (0xc0)) {
    1057                         if (measure && (total < INT_MAX))
    1058                                 total++;
     1060                        if (measure)
     1061                          { if (total < INT_MAX) total++; else return -1; }
    10591062                        /* compressed item, redirect */
    10601063                        offset = ((l & 0x3f) << 8) | data[offset];
     
    10821085                else
    10831086                  return -1;
    1084                 if (measure && (total <= (INT_MAX - l)))
    1085                         total += l;
     1087                if (measure)
     1088                  { if (total <= (INT_MAX -l)) total += l; else return -1; }
    10861089
    10871090                if (used == INT_MAX)
     
    10941097
    10951098        /* The null byte must be counted too */
    1096         if (measure && (total < INT_MAX)) {
    1097             total++;
     1099        if (measure) {
     1100            if (total < INT_MAX) total++; else return -1;
    10981101        }
    10991102
  • trunk/test/testrun_2.sh

    r415 r501  
    633633        fi
    634634        #
    635         ${TOP_SRCDIR}/configure --quiet  $TRUST --enable-debug --enable-network=client  --enable-xml-log --enable-login-watch --prefix=$PW_DIR --localstatedir=$PW_DIR --with-config-file=$RCFILE  --with-log-file=$LOGFILE --with-pid-file=$PW_DIR/.samhain_lock --with-data-file=$PW_DIR/.samhain_file --enable-encrypt=2
     635        ${TOP_SRCDIR}/configure --quiet  $TRUST --enable-debug --enable-network=client  --enable-xml-log --enable-login-watch --prefix=$PW_DIR --localstatedir=$PW_DIR --with-config-file=$RCFILE  --with-log-file=$LOGFILE --with-pid-file=$PW_DIR/.samhain_lock --with-data-file=$PW_DIR/.samhain_file --enable-encrypt=2 --enable-static
    636636        #
    637637        if test x$? = x0; then
Note: See TracChangeset for help on using the changeset viewer.