beanshell / beanshell

Beanshell scripting language
Apache License 2.0
815 stars 183 forks source link

Interpreter raises unknown exception if comment is too long #743

Open db00lean opened 11 months ago

db00lean commented 11 months ago

If a comment section is too long, Java will raise an java.lang.arrayindexoutofboundsexception

basic.bsh:

PrintStream std = System.out;

std.print("hello");

/*
yiiisnuxzyovplptwkdlyuiskybzqyyvstclusvlpdbfvucfolmnolzzjtatgkczjgeuuufvrlkzqvbhcxyywjyguwyrvvihbdqk
shcispcqrnnbiekxztldqepisdzfsvmysiykugnnodgbxxpdmhvivzsjcfhzojebcgkkhvzxmtgdrhucpdytqnihgjuiqjajskqf
dczruczneoitegccnechrluidrrazphcbasctziqclazieilezjlmeezrgmnqppctlqpgpnqhdjkiyasgivztiffbgrhyakhjqbg
hbrlhzihnbcdgqxuuskwezdyxditwigyflvaywqrwqjhtmvvaqumpcduenskmqxcjxhllahcdhbwihuphkotwqrjyznxlgpfrdck
ayumtzasbrwmycbtuunjxdptrezifewnsnjnquikpuhwwoekbrqaormxjcnfgzmtfbnyzxjanwmhoejodiwpfqbttrotlespvoet
eqjlnbmaxcuawzwseywssjirgiztpksksempnpcvuopmmtmimxnbphhmubxjlbbqfhmraipgpotgefpsneqfuhdarhcouwlnpvqi
nrpnbpkssjfepjlhqdsxqspmcdgycijhraulwpdlvznmqzjdnkwlepfpkvarrhezbxhpfgxggoukdjelouqraeszqbkncoeefnvy
sbpfrgekruvfifctpwmmqoeuamnbmhmgykcgnwbksfvjzylpuakviosxnbaqvwtbnltojrfapxjcnvkrkvidjyifixunsbdemtxv
bxyhuttikyfflamtqganmhooyfyazppenbpztjipqlmmuvujlcukiszdesxdanxqykgmqaisazcngwqszhgordrunnsldlctluch
hiefjilujghqvljpddjdwhswjogahnbgmaqgtxnabljrzggeydfalflgfvflvjsrnjqwapfuxuxsntwzduywiotgdswxyaaxfway
kdcvzkbsyltyyoqettyyjhiaoyvxepsbtybdcjjswixnkpqoxpfkurljuhwvpqwghycqqhmhedaszjpxwtnesibvkcioqakvgsbu
dewicqbdicuucmtmvwyegmyyyhzmmiwqptvstcgundsuwclftmadljxnmcgbthiodfwbatsfwikfltweqvjfcxowqkbdnsxeqlzj
ecpkdacjiqkxuwcgxqqrnbtbhcdzzlxwpnpbnmxnxtqrcrlenvmhpsdategcsavbsowqtuastxweieikgcjczkkpansfcdsjnnga
bcycgngdhrnvferpksfzmppradjzodmsitcsvorsjylazjknusknwerryjudydwcrajxikjywpqnnqvjmnodpdfamqynxygmhpje
wceynxjpexetvbmhcqqmafxumwtzjzayrlbaxkdraorqokjlfehyelikenadgxlszpzaifmrzzjovntugwiveiymajluwatzvcsu
kcnifyfwfvkhjurgqatwbwszklbqzzozysbgmwaeeuyjvylgskzyrcwaxixpawtuyqizthaarjttstejgtmdrwcaavcicscggzsw
zgbwvoxvywylxlppjhskmqwybxeieethjrjanivwhekkfhefbynppkctkpifeorpgseisnxvsvwfynkztomgoaigbtinwspyqvxr
lvkuwrfzbxjxxlfcotiszxaltlvjrdlbewjjjkcrltccotjgibapdsefjxymhvghjsjbknaeqzodiqzhfdnyybxtlyeadpfwkqoe
rjjofycsqeioewvnuikwjqzbylqbzkuytsoobhiqporceybpupeqtyjkncexrmecbdtbnssvfzcwtdlnmfturxcrfzzfqvbavvqe
gsnagejsvldswyilninbyfullfihmcntopovtntpxpgxkylxdhygmwpjhxnxxmihslfknklkmkgmbyxwywywngdahqrrkdyrdoui
dsghzugeypxzbqqvwtkevyhzuycvaopzmabhvmrkcojzghbfgbpdtunnsxhbwwguqkkuuocvqfqzgijnpgzhlyscimxtrnesebek
erafoynutqomeeojubnospyxijwvriwzsqlmzsedasypxwnrnrkjfuoyjysytkqitukmdgmybbpfvgagxnpqgjdmcbygrstfigmp
waxxmmhxqxchlxanmjhpkdqodslumxolbttkabiibhvgtbaxbzkiqdyjupsvjteqmjizmahxxztyvgmtybpjqmdgglfwxxtlcypl
teiqpypnrgniplhbjqxcyfdromhknazrrwqfqwixhpshmhqihybempyjxfbaxqqxxhvkgofuooooihxizwaybsqaafdmffhkyoxx
vbioarpzmvmvosmdikgkbmvcqoqubovwrmjtuoiqzagnvsntqbhkfwzydaweqovwljmeuwxhsgjpfzourvulccawowetlkldtqtu
bksbmfjcqyxqojfyndodafggibawkwzdlsjtuwfbzzlcehvgwhytlfuhoayuuedimymwtqfyrloijhintptvontekiopcrgrfdtr
wiggsxjszrugsytelqsmoqdionclffqdjuobtveoshhcpcfmomezrxejqekuzbndozkxybzeltzdolcpjnzzzqnlkqrzfkmddxzh
oepuypijnzuifjjxefualirggpmwygtgyxgncodalvfyubozsmeyovhqueipmaosmezaylowduvyzbmbbdfjnydgmiywdhvqeush
ddugmtlhpvmnmppnqaxjhvtwqgcahbqdbwumiqwxsofkwdkjigzszmfxhulgfwoiwebruuwnyftnyayoyhdvhssbyorrglylzqfu
oloeahsbqgqardotuwipnldileczhceadupoxglqcjzwiwqlolceyddnfdegewezbwcdkpaacdanankoojyatekycsafbvykruxs
uoymnqmublehwsvjcmbosuzejbhucugtaiarrxtlvpsmnlwpyrijomcvyurwcxyrefrtspzxkelpixansommenaxvsrrnrzbgijz
unuqowhxbnpjbudhglrahknmzjnkrwxryyrblmxozthhjmwjfweefnkjqyagmvwxspjtmnzpadwdgrtayoyuuzgqxagdphmmnapw
tbkuqsasskankadzcuknifstrsqoqlgqwmucuthfwhovlsspvdagjcbkrwdhltsbnqotuokxkmjlbxbfoxzfegmppiexicrkydzp
mhzvictswzqyiqfdgitppumcftxnufnqkmpyvsclvdrzovnobkywgxacoytjgxvygogwidaflrycmldzpzdnkyutqbmobxfxyrqe
mdqlkbenewgowqlpjtxiiwnrjquzelitixwaxjsgshlsxfqnaiunpkzltnlmizotjtkqyheknlewfwbfjvowcbmbkvounpvnurtp
uuzayqghmkikquruhjzmvcuoxfuyffldtwjdqlyyezffvfllgtjttguuwnxafuxutdeizzfimwxlxbqisrccalfczjswyxdrhytl
jswmakbbhktwlcupjwovbntqvntmwpkdapsdesgpmnnljwslkwbowtgsvbfbpaesfrtqhlooaqinmgavwtrsaqtvotzpcvtpzxnj
xutglocpkdkctfwlqqqqfsmcahzpotvtuxurltqnsjcwtonqlmnbfmlxrywabmgxwffgvtntaukyxfcepvfehqctlejwdvspgeuq
ukoerjhqbmkydjvomxngmidvzhhsnibpbhliqiiptjsrufldkawyafumqvsxcysqdzscbqnfjfjtmmurifinurprtkiyweovcoqe
zdseghxhbfvltzkhgysbopstmeevcqujfwazluevfgketvoksdwwabrhebzanatgdcgcrawalfdmdrwtwwvwxjfypvvhvixydspb
ovplcvxhqwpgsbzwjicenixkhxeolmdozviihpdwprevqctjowwjsslqpjvffcfvhgoirlkcepduyroovifcfujfgqcapmwfksbl
yiiisnuxzyovplptwkdlyuiskybzqyyvstclusvlpdbfvucfolmnolzzjtatgkczjgeuuufvrlkzqvbhcxyywjyguwyrvvihbdqk
shcispcqrnnbiekxztldqepisdzfsvmysiykugnnodgbxxpdmhvivzsjcfhzojebcgkkhvzxmtgdrhucpdytqnihgjuiqjajskqf
dczruczneoitegccnechrluidrrazphcbasctziqclazieilezjlmeezrgmnqppctlqpgpnqhdjkiyasgivztiffbgrhyakhjqbg
hbrlhzihnbcdgqxuuskwezdyxditwigyflvaywqrwqjhtmvvaqumpcduenskmqxcjxhllahcdhbwihuphkotwqrjyznxlgpfrdck
ayumtzasbrwmycbtuunjxdptrezifewnsnjnquikpuhwwoekbrqaormxjcnfgzmtfbnyzxjanwmhoejodiwpfqbttrotlespvoet
eqjlnbmaxcuawzwseywssjirgiztpksksempnpcvuopmmtmimxnbphhmubxjlbbqfhmraipgpotgefpsneqfuhdarhcouwlnpvqi
nrpnbpkssjfepjlhqdsxqspmcdgycijhraulwpdlvznmqzjdnkwlepfpkvarrhezbxhpfgxggoukdjelouqraeszqbkncoeefnvy
sbpfrgekruvfifctpwmmqoeuamnbmhmgykcgnwbksfvjzylpuakviosxnbaqvwtbnltojrfapxjcnvkrkvidjyifixunsbdemtxv
bxyhuttikyfflamtqganmhooyfyazppenbpztjipqlmmuvujlcukiszdesxdanxqykgmqaisazcngwqszhgordrunnsldlctluch
hiefjilujghqvljpddjdwhswjogahnbgmaqgtxnabljrzggeydfalflgfvflvjsrnjqwapfuxuxsntwzduywiotgdswxyaaxfway
kdcvzkbsyltyyoqettyyjhiaoyvxepsbtybdcjjswixnkpqoxpfkurljuhwvpqwghycqqhmhedaszjpxwtnesibvkcioqakvgsbu
dewicqbdicuucmtmvwyegmyyyhzmmiwqptvstcgundsuwclftmadljxnmcgbthiodfwbatsfwikfltweqvjfcxowqkbdnsxeqlzj
ecpkdacjiqkxuwcgxqqrnbtbhcdzzlxwpnpbnmxnxtqrcrlenvmhpsdategcsavbsowqtuastxweieikgcjczkkpansfcdsjnnga
bcycgngdhrnvferpksfzmppradjzodmsitcsvorsjylazjknusknwerryjudydwcrajxikjywpqnnqvjmnodpdfamqynxygmhpje
wceynxjpexetvbmhcqqmafxumwtzjzayrlbaxkdraorqokjlfehyelikenadgxlszpzaifmrzzjovntugwiveiymajluwatzvcsu
kcnifyfwfvkhjurgqatwbwszklbqzzozysbgmwaeeuyjvylgskzyrcwaxixpawtuyqizthaarjttstejgtmdrwcaavcicscggzsw
zgbwvoxvywylxlppjhskmqwybxeieethjrjanivwhekkfhefbynppkctkpifeorpgseisnxvsvwfynkztomgoaigbtinwspyqvxr
lvkuwrfzbxjxxlfcotiszxaltlvjrdlbewjjjkcrltccotjgibapdsefjxymhvghjsjbknaeqzodiqzhfdnyybxtlyeadpfwkqoe
rjjofycsqeioewvnuikwjqzbylqbzkuytsoobhiqporceybpupeqtyjkncexrmecbdtbnssvfzcwtdlnmfturxcrfzzfqvbavvqe
gsnagejsvldswyilninbyfullfihmcntopovtntpxpgxkylxdhygmwpjhxnxxmihslfknklkmkgmbyxwywywngdahqrrkdyrdoui
dsghzugeypxzbqqvwtkevyhzuycvaopzmabhvmrkcojzghbfgbpdtunnsxhbwwguqkkuuocvqfqzgijnpgzhlyscimxtrnesebek
erafoynutqomeeojubnospyxijwvriwzsqlmzsedasypxwnrnrkjfuoyjysytkqitukmdgmybbpfvgagxnpqgjdmcbygrstfigmp
waxxmmhxqxchlxanmjhpkdqodslumxolbttkabiibhvgtbaxbzkiqdyjupsvjteqmjizmahxxztyvgmtybpjqmdgglfwxxtlcypl
teiqpypnrgniplhbjqxcyfdromhknazrrwqfqwixhpshmhqihybempyjxfbaxqqxxhvkgofuooooihxizwaybsqaafdmffhkyoxx
vbioarpzmvmvosmdikgkbmvcqoqubovwrmjtuoiqzagnvsntqbhkfwzydaweqovwljmeuwxhsgjpfzourvulccawowetlkldtqtu
bksbmfjcqyxqojfyndodafggibawkwzdlsjtuwfbzzlcehvgwhytlfuhoayuuedimymwtqfyrloijhintptvontekiopcrgrfdtr
wiggsxjszrugsytelqsmoqdionclffqdjuobtveoshhcpcfmomezrxejqekuzbndozkxybzeltzdolcpjnzzzqnlkqrzfkmddxzh
oepuypijnzuifjjxefualirggpmwygtgyxgncodalvfyubozsmeyovhqueipmaosmezaylowduvyzbmbbdfjnydgmiywdhvqeush
ddugmtlhpvmnmppnqaxjhvtwqgcahbqdbwumiqwxsofkwdkjigzszmfxhulgfwoiwebruuwnyftnyayoyhdvhssbyorrglylzqfu
oloeahsbqgqardotuwipnldileczhceadupoxglqcjzwiwqlolceyddnfdegewezbwcdkpaacdanankoojyatekycsafbvykruxs
uoymnqmublehwsvjcmbosuzejbhucugtaiarrxtlvpsmnlwpyrijomcvyurwcxyrefrtspzxkelpixansommenaxvsrrnrzbgijz
unuqowhxbnpjbudhglrahknmzjnkrwxryyrblmxozthhjmwjfweefnkjqyagmvwxspjtmnzpadwdgrtayoyuuzgqxagdphmmnapw
tbkuqsasskankadzcuknifstrsqoqlgqwmucuthfwhovlsspvdagjcbkrwdhltsbnqotuokxkmjlbxbfoxzfegmppiexicrkydzp
mhzvictswzqyiqfdgitppumcftxnufnqkmpyvsclvdrzovnobkywgxacoytjgxvygogwidaflrycmldzpzdnkyutqbmobxfxyrqe
mdqlkbenewgowqlpjtxiiwnrjquzelitixwaxjsgshlsxfqnaiunpkzltnlmizotjtkqyheknlewfwbfjvowcbmbkvounpvnurtp
uuzayqghmkikquruhjzmvcuoxfuyffldtwjdqlyyezffvfllgtjttguuwnxafuxutdeizzfimwxlxbqisrccalfczjswyxdrhytl
jswmakbbhktwlcupjwovbntqvntmwpkdapsdesgpmnnljwslkwbowtgsvbfbpaesfrtqhlooaqinmgavwtrsaqtvotzpcvtpzxnj
xutglocpkdkctfwlqqqqfsmcahzpotvtuxurltqnsjcwtonqlmnbfmlxrywabmgxwffgvtntaukyxfcepvfehqctlejwdvspgeuq
ukoerjhqbmkydjvomxngmidvzhhsnibpbhliqiiptjsrufldkawyafumqvsxcysqdzscbqnfjfjtmmurifinurprtkiyweovcoqe
zdseghxhbfvltzkhgysbopstmeevcqujfwazluevfgketvoksdwwabrhebzanatgdcgcrawalfdmdrwtwwvwxjfypvvhvixydspb
ovplcvxhqwpgsbzwjicenixkhxeolmdozviihpdwprevqctjowwjsslqpjvffcfvhgoirlkcepduyroovifcfujfgqcapmwfksbl
yiiisnuxzyovplptwkdlyuiskybzqyyvstclusvlpdbfvucfolmnolzzjtatgkczjgeuuufvrlkzqvbhcxyywjyguwyrvvihbdqk
shcispcqrnnbiekxztldqepisdzfsvmysiykugnnodgbxxpdmhvivzsjcfhzojebcgkkhvzxmtgdrhucpdytqnihgjuiqjajskqf
dczruczneoitegccnechrluidrrazphcbasctziqclazieilezjlmeezrgmnqppctlqpgpnqhdjkiyasgivztiffbgrhyakhjqbg
hbrlhzihnbcdgqxuuskwezdyxditwigyflvaywqrwqjhtmvvaqumpcduenskmqxcjxhllahcdhbwihuphkotwqrjyznxlgpfrdck
ayumtzasbrwmycbtuunjxdptrezifewnsnjnquikpuhwwoekbrqaormxjcnfgzmtfbnyzxjanwmhoejodiwpfqbttrotlespvoet
eqjlnbmaxcuawzwseywssjirgiztpksksempnpcvuopmmtmimxnbphhmubxjlbbqfhmraipgpotgefpsneqfuhdarhcouwlnpvqi
nrpnbpkssjfepjlhqdsxqspmcdgycijhraulwpdlvznmqzjdnkwlepfpkvarrhezbxhpfgxggoukdjelouqraeszqbkncoeefnvy
sbpfrgekruvfifctpwmmqoeuamnbmhmgykcgnwbksfvjzylpuakviosxnbaqvwtbnltojrfapxjcnvkrkvidjyifixunsbdemtxv
bxyhuttikyfflamtqganmhooyfyazppenbpztjipqlmmuvujlcukiszdesxdanxqykgmqaisazcngwqszhgordrunnsldlctluch
hiefjilujghqvljpddjdwhswjogahnbgmaqgtxnabljrzggeydfalflgfvflvjsrnjqwapfuxuxsntwzduywiotgdswxyaaxfway
kdcvzkbsyltyyoqettyyjhiaoyvxepsbtybdcjjswixnkpqoxpfkurljuhwvpqwghycqqhmhedaszjpxwtnesibvkcioqakvgsib
teiqpypnrgniplhbjqxcyfdromhknazrrwqfqwixhpshmhqihybempyjxfbaxqqxxhvkgofuooooihxizwaybsqaafdmffhkyoxx
vbioarpzmvmvosmdikgkbmvcqoqubovwrmjtuoiqzagnvsntqbhkfwzydaweqovwljmeuwxhsgjpfzourvulccawowetlkldtqtu
bksbmfjcqyxqojfyndodafggibawkwzdlsjtuwfbzzlcehvgwhytlfuhoayuuedimymwtqfyrloijhintptvontekiopcrgrfdtr
wiggsxjszrugsytelqsmoqdionclffqdjuobtveoshhcpcfmomezrxejqekuzbndozkxybzeltzdolcpjnzzzqnlkqrzfkmddxzh
oepuypijnzuifjjxefualirggpmwygtgyxgncodalvfyubozsmeyovhqueipmaosmezaylowduvyzbmbbdfjnydgmiywdhvqeush
ddugmtlhpvmnmppnqaxjhvtwqgcahbqdbwumiqwxsofkwdkjigzszmfxhulgfwoiwebruuwnyftnyayoyhdvhssbyorrglylzqfu
oloeahsbqgqardotuwipnldileczhceadupoxglqcjzwiwqlolceyddnfdegewezbwcdkpaacdanankoojyatekycsafbvykruxs
uoymnqmublehwsvjcmbosuzejbhucugtaiarrxtlvpsmnlwpyrijomcvyurwcxyrefrtspzxkelpixansommenaxvsrrnrzbgijz
unuqowhxbnpjbudhglrahknmzjnkrwxryyrblmxozthhjmwjfweefnkjqyagmvwxspjtmnzpadwdgrtayoyuuzgqxagdphmmnapw
tbkuqsasskankadzcuknifstrsqoqlgqwmucuthfwhovlsspvdagjcbkrwdhltsbnqotuokxkmjlbxbfoxzfegmppiexicrkydzp
mhzvictswzqyiqfdgitppumcftxnufnqkmpyvsclvdrzovnobkywgxacoytjgxvygogwidaflrycmldzpzdnkyutqbmobxfxyrqe
mdqlkbenewgowqlpjtxiiwnrjquzelitixwaxjsgshlsxfqnaiunpkzltnlmizotjtkqyheknlewfwbfjvowcbmbkvounpvnurtp
uuzayqghmkikquruhjzmvcuoxfuyffldtwjdqlyyezffvfllgtjttguuwnxafuxutdeizzfimwxlxbqisrccalfczjswyxdrhytl
jswmakbbhktwlcupjwovbntqvntmwpkdapsdesgpmnnljwslkwbowtgsvbfbpaesfrtqhlooaqinmgavwtrsaqtvotzpcvtpzxnj
xutglocpkdkctfwlqqqqfsmcahzpotvtuxurltqnsjcwtonqlmnbfmlxrywabmgxwffgvtntaukyxfcepvfehqctlejwdvspgeuq
ukoerjhqbmkydjvomxngmidvzhhsnibpbhliqiiptjsrufldkawyafumqvsxcysqdzscbqnfjfjtmmurifinurprtkiyweovcoqe
zdseghxhbfvltzkhgysbopstmeevcqujfwazluevfgketvoksdwwabrhebzanatgdcgcrawalfdmdrwtwwvwxjfypvvhvixydspb
ovplcvxhqwpgsbzwjicenixkhxeolmdozviihpdwprevqctjowwjsslqpjvffcfvhgoirlkcepduyroovifcfujfgqcapmwfksbl
djewjrjoxtnmrbwxkzyfsuzkifcpvulduqcpzdsmdkfxrwbzusomblgtqcxfyikhmupncxvcuemlvshjmkqoyeukjcufbfywehff
xrfphbjobhpvxssvytrenempummemcehtevjqllbubqjwronsfrgctczuclnsdukvuftauhqjoekodncqqsfkoitpbhrezxlxxsg
bybhdwujwabjdrglriiiqzvncsinqxhgwyemhzbngpouxgtlxkmnatboaxmrpbcwqkolyaabqsnuakjrgyvgzaszczvrhvogekjw
prtqdmfyenhofuvmuqsvrrgibmglxbznlzzoinpospcovkeqwzfypbrbdszvodypkxshinhylcmgenpgfribeamfedwxmbxobcso
kmrkcqwofqwaekhvlamqpnizbehxjpkyvdevbnpiakxgkegmqrjrupvufspypgklfwmqadsfozmidasrkinmtailyoamqrqrruqm
ofdfdqdjeftedtyocnptjgxyvlsuynylidyliinhwdzajvtplplanghrcjiutlqozzwivtcrmnrnmehlbclqqcwnpbmyyworemcn
txfkjbzrwdzfhzfmssxurrcpfepzzghlblsyuqvjgdgwvrtpbfobxcbtfgpuzhlohvwleqqkpkisjjhlaufyarczijaxqfvblqsm
djewjrjoxtnmrbwxkzyfsuzkifcpvulduqcpzdsmdkfxrwbzusomblgtqcxfyikhmupdflajsfljkssdfaasdaasdfhisdafa
*/

std.print(" world\n");

return;

Command:

$ java -cp /opt/beanshell/target/bsh-3.0.0-SNAPSHOT.jar:build bsh.Interpreter basic.bsh

Picked up _JAVA_OPTIONS: -Xmx512m
hello world
Evaluation Error: bsh.EvalError: Sourced file: /opt/gsdk/protocol/zigbee/basic.bsh unknown error: Index 4096 out of bounds for length 4096 : at Line: 136 : in file: /opt/gsdk/protocol/zigbee/basic.bsh : std .print ( " world\n" )

This is labeled as an unknown error by the interpreter.

Interpreter.java(:754)

            } catch ( Exception e) {
                if ( DEBUG.get())
                    e.printStackTrace();
                throw new EvalError(
                    "Sourced file: "+sourceFileInfo+" unknown error: "
                    + e.getMessage(), node, callstack, e);
            }
opeongo commented 10 months ago

Duplicate of #734