You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.5 KiB

  1. BASH PATCH REPORT
  2. =================
  3. Bash-Release: 4.3
  4. Patch-ID: bash43-001
  5. Bug-Reported-by: NBaH <nbah@sfr.fr>
  6. Bug-Reference-ID: <ler0b5$iu9$1@speranza.aioe.org>
  7. Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-02/msg00092.html
  8. Bug-Description:
  9. A missing check for a valid option prevented `test -R' from working. There
  10. is another problem that causes bash to look up the wrong variable name when
  11. processing the argument to `test -R'.
  12. Patch (apply with `patch -p0'):
  13. --- a/test.c
  14. +++ b/test.c
  15. @@ -646,8 +646,8 @@ unary_test (op, arg)
  16. return (v && invisible_p (v) == 0 && var_isset (v) ? TRUE : FALSE);
  17. case 'R':
  18. - v = find_variable (arg);
  19. - return (v && invisible_p (v) == 0 && var_isset (v) && nameref_p (v) ? TRUE : FALSE);
  20. + v = find_variable_noref (arg);
  21. + return ((v && invisible_p (v) == 0 && var_isset (v) && nameref_p (v)) ? TRUE : FALSE);
  22. }
  23. /* We can't actually get here, but this shuts up gcc. */
  24. @@ -723,6 +723,7 @@ test_unop (op)
  25. case 'o': case 'p': case 'r': case 's': case 't':
  26. case 'u': case 'v': case 'w': case 'x': case 'z':
  27. case 'G': case 'L': case 'O': case 'S': case 'N':
  28. + case 'R':
  29. return (1);
  30. }
  31. --- a/patchlevel.h
  32. +++ b/patchlevel.h
  33. @@ -25,6 +25,6 @@
  34. regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
  35. looks for to find the patch level (for the sccs version string). */
  36. -#define PATCHLEVEL 0
  37. +#define PATCHLEVEL 1
  38. #endif /* _PATCHLEVEL_H_ */