[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=
=====================================================================================