StackOverflow හි ජාවා කේතයේ වඩාත්ම ජනප්‍රිය උදාහරණයේ දෝෂයක් ඇත

වඩාත් ජනප්රියයි ජාවා කේත උදාහරණය, StackOverflow හි ප්‍රකාශයට පත් කරන ලදී, බවට පත් විය යම් යම් කොන්දේසි යටතේ වැරදි ප්‍රතිඵලයක් ප්‍රතිදානය කිරීමට හේතු වන දෝෂයක් සමඟ. අදාළ කේතය 2010 දී පළ කරන ලද අතර එය නිර්දේශ දහසකට වඩා රැස් කර ගෙන ඇති අතර, එය ද සිදු කර ඇත. පිටපත් කරන ලදී මෙම දෝෂය බොහෝ ව්‍යාපෘතිවල දක්නට ලැබෙන අතර GitHub ගබඩාවල ආසන්න වශයෙන් 7 වාරයක් දිස්වේ. කැපී පෙනෙන ලෙස, දෝෂය සොයා ගනු ලැබුවේ පරිශීලකයින් මෙම කේතය ඔවුන්ගේ ව්‍යාපෘතිවලට පිටපත් කිරීමෙන් නොව, ඉඟියේ මුල් කතුවරයා විසිනි.

අදාළ කේතය බයිට් ප්‍රමාණයන් කියවිය හැකි ආකාරයකට පරිවර්තනය කළේය, උදාහරණයක් ලෙස, 110592 "110.6 kB" හෝ ​​"108.0 KiB" බවට පරිවර්තනය කරන ලදී. කේතය කලින් යෝජනා කරන ලද ඉඟියක ලඝුගණක-ප්‍රශස්තිකරණය කළ අනුවාදයක් ලෙස යෝජනා කරන ලද අතර, එහි අගය තීරණය කරනු ලැබුවේ මුල් අගය ලූපයක අනුක්‍රමිකව 1018, 1015, 1012, 1019 න් බෙදීමෙනි.
106, 103, සහ 100, බෙදුම්කරු බයිට් වලින් මුල් අගයට වඩා වැඩි නම්. ප්‍රශස්තිකරණය කළ අනුවාදයේ (දිගු අගය පිටාර ගැලීම) සාවද්‍ය ගණනය කිරීම් හේතුවෙන්, ඉතා විශාල සංඛ්‍යා (එක්සබයිට්) සැකසීමේදී ප්‍රතිඵලය නොගැලපේ.

මූලාශ්‍රය සඳහන් නොකර සහ බලපත්‍රයක් සඳහන් නොකර උදාහරණ පිටපත් කිරීමේ ගැටලුව කෙරෙහි අවධානය යොමු කිරීමට උපදෙස් කතුවරයා ද උත්සාහ කළේය. පෙර වාර්තාවලට අනුව පර්යේෂණ සිදු කරන ලදී සංවර්ධකයින්ගෙන් 46% ක් StackOverflow වෙතින් ආරෝපණයකින් තොරව කේත පිටපත් කළහ, 75% ක් CC BY-SA යටතේ කේතය බලපත්‍රලාභී බව නොදැන සිටියහ, සහ 67% ක් ආරෝපණය අවශ්‍ය බව නොදැන සිටියහ.

විසින් ලබා දී ඇත තවත් අධ්‍යයනයකට අනුව, කේත උදාහරණ පිටපත් කිරීම දෝෂ පමණක් නොව අවදානම් ද හඳුන්වා දීමේ අවදානමක් දරයි. උදාහරණයක් ලෙස, StackOverflow හි C++ කේත උදාහරණ 72483 ක් විශ්ලේෂණය කිරීමෙන් පසුව, වඩාත් ජනප්‍රිය නිර්දේශ ලැයිස්තුවට ඇතුළත් කර ඇති උදාහරණ 69 ක (හෝ 0.09%) බරපතල අවදානම් පර්යේෂකයන් හඳුනා ගත්හ. GitHub හි මෙම කේතය තිබීම විශ්ලේෂණය කිරීමෙන් පසුව, StackOverflow වෙතින් පිටපත් කරන ලද අවදානම් සහිත කේතය ව්‍යාපෘති 2859 ක පවතින බව ඔවුන් සොයා ගත්හ.

මූලාශ්රය: opennet.ru

DDoS ආරක්ෂාව, VPS VDS සේවාදායකයන් සහිත අඩවි සඳහා විශ්වාසදායක සත්කාරකත්වය මිලදී ගන්න 🔥 DDoS ආරක්ෂාව, VPS VDS සේවාදායකයන් සහිත විශ්වාසදායක වෙබ් අඩවි සත්කාරකත්වය මිලදී ගන්න | ProHoster