| Description: if the shell is restricted, reject attempts to add pathnames |
| containing slashes to the hash table |
| Origin: backport, http://git.savannah.gnu.org/cgit/bash.git/commit/?h=bash-4.4-testing&id=a4eef1991c25c9d1c55f777952cd522c762c6fc3 |
| Bug: https://savannah.gnu.org/support/?108969 |
| Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1803441 |
| |
| Index: bash-4.3/variables.c |
| =================================================================== |
| --- bash-4.3.orig/variables.c 2019-07-12 14:12:19.000000000 -0400 |
| +++ bash-4.3/variables.c 2019-07-12 14:24:58.364792719 -0400 |
| @@ -1601,6 +1601,13 @@ assign_hashcmd (self, value, ind, key) |
| arrayind_t ind; |
| char *key; |
| { |
| +#if defined (RESTRICTED_SHELL) |
| + if (restricted && strchr (value, '/')) |
| + { |
| + sh_restricted (value); |
| + return (SHELL_VAR *)NULL; |
| + } |
| +#endif |
| phash_insert (key, value, 0, 0); |
| return (build_hashcmd (self)); |
| } |