bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bash-4.2 Official patch 15


From: Chet Ramey
Subject: Bash-4.2 Official patch 15
Date: Wed, 23 Nov 2011 16:36:58 -0500

                             BASH PATCH REPORT
                             =================

Bash-Release:   4.2
Patch-ID:       bash42-015

Bug-Reported-by:        <address@hidden>
Bug-Reference-ID:       <address@hidden>
Bug-Reference-URL:      
http://lists.gnu.org/archive/html/bug-bash/2011-08/msg00000.html

Bug-Description:

When in a context where arithmetic evaluation is not taking place, the
evaluator should not check for division by 0.

Patch (apply with `patch -p0'):

*** ../bash-4.2-patched/expr.c  2010-12-21 11:12:13.000000000 -0500
--- expr.c      2011-08-02 20:58:28.000000000 -0400
***************
*** 477,480 ****
--- 481,492 ----
        if (special)
        {
+         if ((op == DIV || op == MOD) && value == 0)
+           {
+             if (noeval == 0)
+               evalerror (_("division by 0"));
+             else
+               value = 1;
+           }
+ 
          switch (op)
            {
***************
*** 483,493 ****
              break;
            case DIV:
-             if (value == 0)
-               evalerror (_("division by 0"));
              lvalue /= value;
              break;
            case MOD:
-             if (value == 0)
-               evalerror (_("division by 0"));
              lvalue %= value;
              break;
--- 495,501 ----
***************
*** 805,809 ****
  
        if (((op == DIV) || (op == MOD)) && (val2 == 0))
!       evalerror (_("division by 0"));
  
        if (op == MUL)
--- 813,822 ----
  
        if (((op == DIV) || (op == MOD)) && (val2 == 0))
!       {
!         if (noeval == 0)
!           evalerror (_("division by 0"));
!         else
!           val2 = 1;
!       }
  
        if (op == MUL)
*** ../bash-4.2-patched/patchlevel.h    Sat Jun 12 20:14:48 2010
--- patchlevel.h        Thu Feb 24 21:41:34 2011
***************
*** 26,30 ****
     looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 14
  
  #endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
     looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 15
  
  #endif /* _PATCHLEVEL_H_ */

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU    address@hidden    http://cnswww.cns.cwru.edu/~chet/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]