[BUG] invalid-shift-base umaskcmd() src/miscbltin.c:258:26
Aleksander Ushakov <[email protected]> Mon, 19 Jan 2026 19:38:34 +0300
| Newsgroups | org.kernel.vger.dash |
|---|---|
| Message-ID | <CADdNFas7pVJoDNaq_kZB-cXZjQZfrNYPKsuPZm6xboqHmJBDtA@mail.gmail.com> |
I encountered a bug in Dash 0.5.13 and would like to report
it. The details are provided below.
# # miscbltin.c:258:26: runtime error: left shift of 1073741823 by 3
places cannot be represented in type 'int'
#0 0x65484e899f22 in umaskcmd /upstream/z/dash-0.5.13/src/miscbltin.c:258:26
#1 0x65484e872c55 in evalbltin /upstream/z/dash-0.5.13/src/eval.c:975:12
#2 0x65484e86dec4 in evalcommand /upstream/z/dash-0.5.13/src/eval.c:923:7
#3 0x65484e86b07c in evaltree /upstream/z/dash-0.5.13/src/eval.c:305:12
#4 0x65484e8971ac in cmdloop /upstream/z/dash-0.5.13/src/main.c:247:8
#5 0x65484e896e6e in main /upstream/z/dash-0.5.13/src/main.c:181:3
#6 0x746fa5d61249 in __libc_start_call_main
csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#7 0x746fa5d61304 in __libc_start_main csu/../csu/libc-start.c:360:3
#8 0x65484e839930 in _start
(/upstream/zz/dash-0.5.13/src/dash+0x42930) (BuildId:
f5787a810ed7cf088639c548c8ff13ea66dcb3e3)
SUMMARY: UndefinedBehaviorSanitizer: invalid-shift-base miscbltin.c:258:26
////////////////
My environment:
////////////////
Debian-12, x86-64, clang-19 compiler
/////////////////
Steps to reproduce:
/////////////////
$ aclocal && autoheader && automake --add-missing && autoconf
$ CC=clang CFLAGS=" -Wno-everything -fsanitize=undefined -g -O0"
./configure --disable-fnmatch --disable-lineno --disable-glob
$ make
$ cd src
$ export UBSAN_OPTIONS=print_stacktrace=true,symbolize=true,print_stacktrace=1,report_error_type=1,symbolize=1
$ ./dash < myfile.txt
//////////////////
Steps to get myfile.txt:
//////////////////
copy the text into file bs64.txt (between ==== and ======):
=====================================================================================
Y2QgLwpwd2QKaGVscCA+Ji0KcHdkCnB3ZAplY2hvIyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv
ZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgICBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOLWRHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieQojICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBv
ZiB0aGUgTGljZW5zZSwgb3IKIyAgIChhdCB5b3VyIG9wIGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CiMKIyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAojICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3QHRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlAAB0aGUKI2QtMQphCmVuZC0yCmE6eAplbmQtYQpi
OngKZW5kLWIKYzp4CmVuZC1jCmVuZC0zCmE6eAplbmQEYQpiCmMKZW5kLTEKYQpiCmMKZW5kLTIK
YTp4CmE6eQphOnoKZW5kLWEKYjp4CmI6eQpiOnoKZW5kLWIKYzp4CmM6eQpjOnoKZW5kLWMKZW5k
LTMKYTp4Cnd4MTAwOF09LGc9cngsbz1yeAowMDAyCnU9cnd4Yjp4CmM6eAplb2QKJEJWQVIKJEJW
QVIKJEJWQVIKJEJWQVIKZm9vCmJhcgp4eHgKMDAyMgp1PXJ3eDEwMDhdPSxnPXJ4LG89cngKMDAw
Mgp1PXJ3eCxnPXJ3eCxvJHJ4CnVtYXNrIDc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3
Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3
Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3
NwA3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3
NzdtbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1t
bW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1t
bW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1t
bW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1t
bW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1t
bW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1t
bW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1t
bW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1t
bW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1t
bW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1t
bW1tbW1tbTc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3
Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3
Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3
Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3
Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3
Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3
Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3NzcgJ1slc11cbicgZm9vICRACnByaW50ZiAnWyVzXVxuJyBm
b28gIiRAIgpwcmluAAAAQGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm
ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmICdbJXNdXG4nIGZvbyAn
JyRACnByaW50ZiAnWyVzXVxuJyBmb28gJyciJEAiCnByaW50ZiAnWyU=
=====================================================================================