freebsd-dev/bin/sh
Jilles Tjoelker d5b14891eb sh: Mask off shift distance (<< and >>) in arithmetic.
In C, shift distances equal to or larger than the number of bits in the
operand result in undefined behaviour. As part of eliminating undefined
behaviour in arithmetic, mask off the distance like Java and JavaScript
specify and C on x86 usually does.

Assumption: conversion from unsigned to signed retains the two's complement
bits.
Assumption: uintmax_t has no padding bits.
2014-08-15 22:36:41 +00:00
..
bltin sh: Allow kill %job on jobs started without job control. 2014-03-15 14:58:48 +00:00
funcs sh: Remove "kill" example function, which is superseded by the kill builtin 2012-01-21 20:39:17 +00:00
tests sh: Mask off shift distance (<< and >>) in arithmetic. 2014-08-15 22:36:41 +00:00
alias.c sh: Fix possible memory leaks and double frees with unexpected SIGINT. 2014-03-26 20:43:40 +00:00
alias.h sh: Fix duplicate prototypes for builtins. 2011-06-13 21:03:27 +00:00
arith_yacc.c sh: Mask off shift distance (<< and >>) in arithmetic. 2014-08-15 22:36:41 +00:00
arith_yacc.h sh: Import arithmetic expression code from dash. 2011-02-08 23:18:06 +00:00
arith_yylex.c sh: Reject ++ and -- in arithmetic. 2013-08-24 20:06:00 +00:00
arith.h sh: Fix duplicate prototypes for builtins. 2011-06-13 21:03:27 +00:00
builtins.def sh: Remove the "exp" builtin. 2011-05-27 20:53:07 +00:00
cd.c sh: Prefer memcpy() to strcpy() in most cases. Remove the scopy macro. 2013-11-30 21:27:11 +00:00
cd.h sh: Fix duplicate prototypes for builtins. 2011-06-13 21:03:27 +00:00
error.c sh: Add a function to print warnings (with command name and newline). 2010-12-21 20:47:06 +00:00
error.h sh: Allow EV_EXIT through function calls, make {...} <redir more consistent. 2011-04-23 22:28:56 +00:00
eval.c sh: Allow arbitrarily large numbers in break and continue. 2014-07-20 20:29:09 +00:00
eval.h sh: Make return return from the closest function or dot script. 2013-09-04 22:10:16 +00:00
exec.c sh: Remove prefix() function. Use strncmp() instead. 2014-07-20 12:06:52 +00:00
exec.h sh: Expand assignment-like words specially for export/readonly/local. 2012-07-15 10:19:43 +00:00
expand.c sh: Correctly handle positional parameters beyond INT_MAX on 64-bit systems. 2014-07-12 21:54:11 +00:00
expand.h sh: Make expari() static. 2014-02-26 21:38:42 +00:00
histedit.c sh: Prefer internal nextopt() to libc getopt(). 2012-09-15 21:56:30 +00:00
input.c sh: Allow aliases to force alias substitution on the following word. 2014-01-26 21:19:33 +00:00
input.h sh: Remove mkinit. 2013-07-25 15:08:41 +00:00
jobs.c sh: Remove prefix() function. Use strncmp() instead. 2014-07-20 12:06:52 +00:00
jobs.h sh: Fix race condition with signals and wait or set -T. 2013-09-02 21:57:46 +00:00
mail.c Consistently use "STATIC" for all functions in order to be able to set 2010-10-13 04:01:01 +00:00
mail.h
main.c sh: Add more necessary INTOFF/INTON. 2014-05-09 13:27:30 +00:00
main.h sh: Make various functions static. 2012-01-01 22:17:12 +00:00
Makefile Replace all uses of libncurses and libtermcap with their wide character 2014-07-17 18:24:34 +00:00
memalloc.c sh: Prefer memcpy() to strcpy() in most cases. Remove the scopy macro. 2013-11-30 21:27:11 +00:00
memalloc.h sh: Remove linked list of stack marks. 2013-05-11 20:51:00 +00:00
miscbltin.c sh: Deduplicate some code in ulimit builtin. 2014-07-19 14:06:23 +00:00
mkbuiltins Work better with how make/bmake works: 2012-05-24 19:48:15 +00:00
mknodes.c sh: Fix crash with empty functions (f() { }) introduced in r196483 2009-08-28 22:41:25 +00:00
mksyntax.c sh: Simplify mksyntax and make it fit for cross-compiling. 2013-02-07 22:42:33 +00:00
mktokens sh: Add case statement fallthrough (with ';&' instead of ';;'). 2011-06-17 13:03:49 +00:00
myhistedit.h sh: Make various functions static. 2012-01-01 22:17:12 +00:00
mystring.c sh: Remove prefix() function. Use strncmp() instead. 2014-07-20 12:06:52 +00:00
mystring.h sh: Remove prefix() function. Use strncmp() instead. 2014-07-20 12:06:52 +00:00
nodes.c.pat sh: Add const to nodesavestr(). 2013-04-07 16:28:36 +00:00
nodetypes sh: Reorder union node to reduce its size on 64-bit platforms. 2013-11-01 11:28:56 +00:00
options.c sh: In getopts, unset OPTARG where POSIX says we should. 2014-05-10 19:18:49 +00:00
options.h sh: Add do-nothing -h option. 2011-06-18 23:43:28 +00:00
output.c sh: Remove output.c's reset() handler. 2013-07-25 13:09:17 +00:00
output.h sh: Detect and flag write errors on stdout in builtins. 2012-12-12 22:01:10 +00:00
parser.c sh: Allow aliases to force alias substitution on the following word. 2014-01-26 21:19:33 +00:00
parser.h sh: Allow aliases to force alias substitution on the following word. 2014-01-26 21:19:33 +00:00
redir.c sh: Fix possible memory leaks and double frees with unexpected SIGINT. 2014-03-26 20:43:40 +00:00
redir.h sh: Remove unnecessary reset functions. 2013-08-16 20:24:41 +00:00
sh.1 sh: Add -h option to SYNOPSIS 2014-02-25 03:05:43 +00:00
shell.h sh: Remove #define MKINIT. 2013-07-25 19:48:15 +00:00
show.c sh: Prefer memcpy() to strcpy() in most cases. Remove the scopy macro. 2013-11-30 21:27:11 +00:00
show.h sh: Constify various strings. 2009-12-24 18:41:14 +00:00
TOUR sh: Remove mkinit. 2013-07-25 15:08:41 +00:00
trap.c sh: Remove SIGWINCH handler and just check for resize before every read. 2014-01-14 22:56:25 +00:00
trap.h sh: Remove SIGWINCH handler and just check for resize before every read. 2014-01-14 22:56:25 +00:00
var.c sh: Fix memory leak with an assignment before a regular builtin. 2014-03-27 22:57:23 +00:00
var.h sh: Simplify code related to PPID variable. 2013-12-25 16:14:02 +00:00