Minecraft mods, cajiibka Catalan, iyo qiyaastii ah oo ku yaal ah oo ka mid ah macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka macluumaadka maclu Haku Waayo, waxaan ka mid ahaysaa in la soo saarka badan oo ka mid ah wax soo saarka ah. Nala soo xiriir Haku Tani, waxaan ka heli karaa tusaale badan oo ka mid ah macluumaadka ah oo ka mid ah macluumaadka codsiga ah. The selection and the ranking are, of course, subjective and based on our own sense of coolness. Waayo, waxaa laga yaqaan 'Let's Go! Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Waayo, waxaan ka soo bandhigay in ka mid ah ka mid ah ka mid ah Sidaas, loo yaqaan "PvS-Studio" waxaa loo yaqaan "PvS-Studio" waxaa loo yaqaan "PvS-Studio" oo loo yaqaan "PvS-Studio" oo loo yaqaan "PvS-Studio" oo loo yaqaan "PvS-Studio" oo loo yaqaan "PvS-Studio" (PvS-Studio). Qalabka Waxa uu ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah. Waayo, aad u aragto codka: public String getEnclitic(AnalyzedToken token) { .... if (word.endsWith("ه")) { suffix = "ه"; .... else if ((word.equals("عني") || word.equals("مني")) && word.endsWith("ني") // <= ) { suffix = "ني"; } .... } Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Xafiiska 'word.endsWith("ni")' waa daawada. Qalabka 6007 Haku: 428 Sida loo yaqaan "LTR" (Left-to-Right Language) waa in la soo xiriir oo ka mid ah English ama French, waxaa loo yaqaan "Routing Constants" (Routing Constants) waa in la soo xiriir oo ka mid ah "Routing-to-Right Language" (RTL) oo ka mid ah "Routing-to-Right Language" (RTL). -Arabic-speakers oo aad u hesho xafiisyada, waxay u baahan tahay in aad u aragto. Oo, sida loo yaabaa, our analyzer Waqtiga Arabic. non can't Incidentally, if we know that there is an RTL writing, we realize that the condition is actually always Waxaa laga yaabaa. true Sida loo yaqaan "Java" waxaa loo yaqaan "Java" waxaa loo yaqaan "Java" iyo "Java" waxaa loo yaqaan "Java" iyo "Java" iyo "Java" iyo "Java" iyo "Java" iyo "Java" iyo "Java" iyo "Java". Sida loo yaabaa, waxaa loo isticmaali karaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa. are stored in logical order Sida loo yaabaa, Java waxay u baahan tahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay. Sida loo yaqaan check-in: System.out.println("مرحباً بالجميع".endsWith("بالجميع")); Waxaa laga yaabaa in ay Markaas ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah. true Still, since the analyzer is technically wrong here, we're placing it at 10th place in our ranking. If you are curious to learn more, you can read the full story of how we analyzed LanguageTool in this. . Haku Qalabka Qalabka Qalabka Waxa uu ku yaalaa in lagu soo bandhigay our! Qalabka The Catalan language module has the ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah: removeOldDiacritics() private String removeOldDiacritics(String s) { return s .replace("contrapèl", "contrapel") .replace("Contrapèl", "Contrapel") .replace("vés", "ves") .replace("féu", "feu") .replace("desféu", "desfeu") .replace("adéu", "adeu") .replace("dóna", "dona") .replace("dónes", "dones") .replace("sóc", "soc") .replace("vénen", "venen") .replace("véns", "véns") // <= .replace("fóra", "fora") .replace("Vés", "Ves") .replace("Féu", "Feu") .replace("Desféu", "Desfeu") .replace("Adéu", "Adeu") .replace("Dóna", "Dona") .replace("Dónes", "Dones") .replace("Sóc", "Soc") .replace("Vénen", "Venen") .replace("Véns", "Vens") .replace("Fóra", "Fora"); } Marka aad u aragto, waa in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u aragto. Sida loo yaqaan Analyst, waxaa laga yaabaa in ka mid ah: Function 'substitute' waxaa la heli karo argumenta ah. Argument 'véns' waxaa la aasaasay in ka badan. QEEBE 6009 Calaamadaha Calaamadaha Sida loo yaqaan "véns" iyo "véns" waxaa loo yaqaan "véns" iyo "véns" waxaa loo yaqaan "véns" iyo "véns" oo la yaqaan "véns" iyo "véns" oo la yaqaan "véns" iyo "véns". .... .replace("véns", "vens") .... Waayo, our Analyst for Artificial Languages waxaa la aasaasay in ay ka heli karo in Analyst for Natural Languages, this warning waa in la soo xiriir in our top list. Qalabka 8 - Last Line Effect Waayo, waxaan ka mid ahay, waxaan ka mid ahay ka mid ah ka mid ah ka mid ah. . Qalabka Elastic Waayo, aad u aragto codka: @Override public boolean equals(Object obj) { .... KeyedFilter other = (KeyedFilter) obj; return Objects.equals(keys, other.keys) && Objects.equals(timestamp, other.timestamp) && Objects.equals(tiebreaker, other.tiebreaker) && Objects.equals(child(), other.child()) && isMissingEventFilter == isMissingEventFilter; // <= } Waqtiga PVS-Studio: V6001 Waxaad ka mid ah sub-expressions 'isMissingEventFilter' ka mid ah mid ka mid ah mid ka mid ah '==' operator. Qalabka.java 116 Sida loo yaabaa ka hor, waxaan ku raaxay in la xira, laakiin waxaa laga yaabaa in la xiriyaan: xiraana waa in la soo xiriyaan block ka mid ah codka ugu horeysay. Sida loo isticmaali karaa, waxaa loo isticmaali karaa in ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah. Ka mid ah mid ka mid ah loo yaabaa, waxaa laga yaabaa in ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah: the last line effect @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; IndexError that = (IndexError) o; return indexName.equals(that.indexName) && Arrays.equals(shardIds, that.shardIds) && errorType == that.errorType && message.equals(that.message) && stallTimeSeconds == stallTimeSeconds; // <= } Waqtiga PVS-Studio: V6001 Waxaad ka mid ah sub-expressions 'stallTimeSeconds' ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah '==' operator. IndexError.java 147 Haddii aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan yahay. Our First Encounter With It: The Last Line Effect Markaas ka mid ah wax soo saarka ah ee loo yaqaan "The last line effect explained". Sida loo yaabaa in ay ka mid ah wax soo saarka ah, waxaan ku dhigi karaa in la soo saarka ugu horeysay. Qalabka 7 - Lost in localization Let's move on to the seventh position. We've already looked at three Java errors, but we haven't encountered Minecraft yet. It's time to fix that! Waayo, ka mid ah codsiga ah ee : Qalabka + private String getTimePast() { .... if(selected.timePast > 3600000){ int hours = (int) (selected.timePast / 3600000); if(hours == 1) return hours + " " + StatCollector.translateToLocal("mailbox.hour"); else return hours + " " + StatCollector.translateToLocal("mailbox.hours"); } int minutes = (int) (selected.timePast / 60000); if(minutes == 1) return minutes + " " + StatCollector.translateToLocal("mailbox.minutes"); else return minutes + " " + StatCollector.translateToLocal("mailbox.minutes"); } The PVS-Studio warning: The 'then' declaration waa mid ka mid ah 'else' declaration. V6004 Marka: GuiMailbox.java 76 Sida loo yaabaa, waxaa laga yaabaa in ay ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah. iyo wax soo saarka waa mid ka mid ah, oo ka mid ah "minutes". then else Sida loo isticmaali karaa this ku yidhi, "Waaq ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah Markaas ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ah mid Haku mailbox.minute Of course, the error isn't so serious, but because it can be reproduced without any problems, it earns seventh place in our top: Haku Qalabka 6 - Qalabka 6 - Qalabka 6 Waayo, waxa uu ka mid ah dhismaha : AutoCAD public static final int MAX_TYPE_NUMBER = 20; private static final LongAdder[] USAGE_STATS = new LongAdder[MAX_TYPE_NUMBER]; .... public static ByteBuf byteBuffer(int initCapacity, int type) { try { if (MEMORY_USAGE_DETECT) { .... if (type > MAX_TYPE_NUMBER) { counter = UNKNOWN_USAGE_STATS; } else { counter = USAGE_STATS[type]; // <= .... } .... } .... } } Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Sida loo yaqaan index 'type' waa ka mid ah. QEEBE 6025 Nala soo xiriir Waxaa laga yaabaa in ay ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah. Sida loo isticmaali karaa in ay ka mid ah wax soo saarka, a Waxaad ka mid ah ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah. MAX_TYPE_NUMBER OutOfBoundsException Waa in la yaab leh . It allows a situation where, in the Qalabka, The Parameter waxaa laga yaabaa Marka aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan yahay. Marka: Index if (type > MAX_TYPE_NUMBER) else type MAX_TYPE_NUMBER type Sida loo isticmaali karaa, waxaa loo isticmaali karaa Sida loo yaabaa . >= > Sida loo yaabaa waa mid ka mid ah dhismaha autorka, waxaa lagu soo xigtay 6 ee listada ugu badan. Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Now it's Waayo, waxaan ku saabsan codka: Haku public class HelloSessionServlet extends HttpServlet { .... @Override protected void doGet( HttpServletRequest request, HttpServletResponse response ) { .... String greeting = request.getParameter("greeting"); // <= if (greeting != null) { .... message = "New greeting '" + greeting + "' set in session."; // <= .... } .... PrintWriter out = response.getWriter(); out.println("<h1>" + greeting + " from HelloSessionServlet</h1>"); // <= out.println("<p>" + message + "</p>"); // <= .... } } Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka . Possible XSS injection. Potentially tainted data in the 'message' variable might be used to execute a malicious script. QEEBE5330 Haku.jawa 70 Analista wuxuu ku yidhi, Waxaana waa mid ka mid ah . Qalabka XSS In codka, waxaan ka heli karaa string ka soo xiriir, loo isticmaali karaa in la soo xiriir, iyo sidoo kale loo isticmaali karaa in ay loo isticmaali karaa in la soo xiriir HTML. in any way, the XSS injection is indeed possible. Qalabka Sida loo yaqaan 'external pass' is Marka: JavaScript Sida loo isticmaali karaa codka JS, waxaa loo isticmaali karaa codka JS message <script>alert("XSS Injection")</script> alert("XSS Injection") Marka aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay. Ku saabsan First -Analysis warbixinta in loo yaqaan 'Project Real', laakiin waxaa loo yaqaan 'Demonstration Example', waxaan ku dhigi karaa 5th place in the top. taint Qalabka 4 - Double Only Waayo, waxaa loo yaqaan 'error of . Elasticsearch public static Number truncate(Number n, Number precision) { .... Double result = (((n.doubleValue() < 0) ? Math.ceil(g) : Math.floor(g)) / tenAtScale); return n instanceof Float ? result.floatValue() : result; // <= } Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Waxaa la heli karaa "Double" oo ka mid ah "Double" oo ka mid ah "Double" oo ka mid ah "Double". Haku: 6088 Haku.ee 123 Taageerada waxaa laga yaabaa in ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah. Markaas ka mid ah macluumaad ka mid ah macluumaad ka mid ah macluumaad ka mid ah macluumaad ka mid ah macluumaad ka mid ah macluumaad ka mid ah macluumaad ka mid ah macluumaad ka mid ah. or Waxaa kale oo ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah. Float Double The ternary operator is an expression, which means its result must have a single and predetermined type. At this point, the rules of Waayo, waxaa laga yaabaa in la soo xiriir: Qalabka Numbers Haddii waxaa lagu soo bandhigay in ay ku yaalaa in ay ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah. In this case, the common type would be , since it represents both and . Double Double Float Markaas ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah. Sida loo isticmaali karaa qiyaastii ah. Double Shuruudaha dhismaha ah waa in la yaab leh. A fix may look like this: public static Number truncate(Number n, Number precision) { .... if (n instanceof Float) { return result.floatValue(); } else { return result; } } Sida loo isticmaali karaa in ay ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah. Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Waayo, waxaan ka mid ahaysaa in ay ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ah mid ka mid ah mid ah mid ah mid ah mid ka mid ah mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ah mid ka mid ah mid ah mid ka mid ah. Ku saabsan codka: Haku Idea public final class UsageType { .... public static final UsageType DELEGATE_TO_ANOTHER_INSTANCE_PARAMETERS_CHANGED = new UsageType( UsageViewBundle.messagePointer( "usage.type.delegate.to.another.instance.method.parameters.changed" ) ); private static final Logger LOG = Logger.getInstance(UsageType.class); public UsageType(@NotNull Supplier<....> nameComputable) { myNameComputable = nameComputable; if (ApplicationManager.getApplication().isUnitTestMode()) { String usageTypeString = myNameComputable.get(); if (usageTypeString.indexOf('{') != -1) { LOG.error(....); } } } .... } Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka ugu horeysay ee 'DELEGATE_TO_ANOTHER_INSTANCE_PARAMETERS_CHANGED' waa ka hor inta badan oo ka hortago 'LOG'. QEEBE 6050 Haku: Java 46 Analysator waxay ku qorrajiyo in ay ku habboontaa cyclic ee loo yaqaan "stay field initialization" - mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah. Taageerada waxaa loo isticmaali karaa in ay loo isticmaali karaa Qalabka. oo waxaan ka mid ah dhismaha ee loo yaqaan constructor. DELEGATE_TO_ANOTHER_INSTANCE_PARAMETERS_CHANGED LOG Qalabka Sida loo yaabaa, is located above , i.e. waxa uu ku yaalaa in ka hor. Si kastaba ha ahaatee, ka dib markii constructor waxaa la sameeyaan, Sida loo isticmaali karaa, waxaan ka mid ahay NPE. Waxaa la soo bandhigay in ay ku yaalaa in la soo bandhigay. DELEGATE_TO_ANOTHER_INSTANCE_PARAMETERS_CHANGED LOG LOG Haku null Sida loo yaabaa in ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah. Qalabka hore . LOG DELEGATE_TO_ANOTHER_INSTANCE_PARAMETERS_CHANGED Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Waayo, waxa uu ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ah mid ka mid ah. . Qalabka + Waayo, aad u aragto codka: public int range = 5; public int speed = 5; .... public boolean aiShouldExecute() { healTicks++; if (healTicks < speed * 10) return false; for (Object plObj : npc.worldObj.getEntitiesWithinAABB( EntityLivingBase.class, npc.boundingBox.expand( range, range / 2, // <= range)) ) { .... } healTicks = 0; return !toHeal.isEmpty(); } The PVS-Studio warning: Waayo, waxaa loo yaqaan 'int' oo ka mid ah 'double' oo ka mid ah 'double' oo ka mid ah 'explicit' oo ka mid ah 'explicit' oo ka mid ah 'explicit' oo ka mid ah 'explicit' oo ka mid ah 'explicit' oo ka mid ah 'explicit' oo ka mid ah 'explicit'. QEEBE 6094 Haku.jawa 41 Sida loo isticmaali karaa, game-ka waxaa loo isticmaali karaa (si loo isticmaali karaa Qalabka dhismaha iyo dhismaha dhismaha iyo dhismaha dhismaha Sida loo isticmaali karaa NPC Doctor. speed range Ka dib markii Metoda waxaa laga yaabaa Waqtiga, analista waa dhakhso ah in ay ku qorshay this fragment: Waxaa laga yaabaa in ay ka mid ah mid ah is expected. "So what?" you may ask. We think this is really strange, so we've decided to investigate this case. expand expand(double x, double y, double z) int double Sida loo yaabaa, waxaa loo yaabaa in ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ah mid Haku The NPC doctor collision waa la soo bandhigay in white. Shuruudaha ugu horeysay (5 / 2) waxaa loo yaqaan Red. Shuruudaha bilaash ah (5 / 2.0) waxaa la soo bandhigay in la soo bandhigay. Sida loo isticmaali karaa, waxaa loo isticmaali karaa Qalabka ah ee Sida loo yaabaa, xawaaraha waxaa ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah. 2.0 double Sida loo isticmaali karaa in ay u isticmaali karaa, author of the Waxa uu ku yidhi, “Shook the universe”: Haku Notably, developers have fixed this error in the original mod for Minecraft 1.12.2. Unfortunately, I can't provide any direct evidence, so let's say I asked the universe—and this code snippet is what it sent back: Notably, developers have fixed this error in the original mod for Minecraft 1.12.2. Unfortunately, I can't provide any direct evidence, so let's say I asked the universe—and this code snippet is what it sent back: .... this.npc.world.getEntitiesWithinAABB( EntityLivingBase.class, npc.getEntityBoundingBox().expand(range, range / 2.0, range) ); .... Sida loo isticmaali karaa bug ee loo isticmaali karaa, waxaa loo isticmaali karaa in lagu isticmaali karaa. Sida loo isticmaali karaa bug ee loo isticmaali karaa, waxaa loo isticmaali karaa in lagu isticmaali karaa. Qalabka 1 - The Mystery Case of Missed Bonus And now, the gold medal goes to... Ma rabtaa Minecraft bugs ka mid ah mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ah mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ah. Qalabka + Waayo, waxaan ku saabsan codka: .... int startIndex = -1; boolean number = false; try { startIndex = Integer.parseInt(bonusID); number = true; } catch (Exception var34) { number = false; } for (startIndex = 0; startIndex < bonuses.length; ++startIndex) { .... if (number && startIndex == startIndex || // <= !number && bonusValues[startIndex][0].equals(bonusID) ) { noNBTText = bonusValues[startIndex][0] + ";" + bonusValueString; bonuses[startIndex] = ""; bonuses[startIndex] = noNBTText; .... break; } } .... Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka Qalabka V6001 Waxaa jira sub-expressions 'startIndex' ugu soo saarka iyo ka mid ah '==' operator. ScriptDBCPlayer.java 289 V6007 Xafiiska '!number' waa daawada. ScriptDBCPlayer.java 289 V6033 Isticmaalka oo ka mid ah key 'startIndex' waxay ku yaalaa. ScriptDBCPlayer.java 293 Ma rabtaa in ay ku dhigi karaa in ay ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah. First, let's look at the first warning. Comparing Intixaanka waa in la soo xiriir oo ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah. startIndex Haku: : ScriptDBCPlayer.java (224) .... int num = -1; boolean number; try { num = Integer.parseInt(bonusID); number = true; } catch (Exception var33) { number = false; } for (int i = 0; i < bonuses.length; ++i) { .... if (number && i == num || !number && bonusValues[i][0].equals(bonusID) ) { bonuses[i] = ""; break; } } .... Codka waa la soo bandhigay, laakiin waxaa laga yaabaa in ay ka mid ah shuruudaha, waxaan ku yidhi, "The Keen Eye" - oo wuxuu ka mid ah mid ah mid ka mid ah. Waxaa la block and in the loop: they're iyo . In the first fragment, we first initialize Waxaa la Block, iyo ka dib markii ay ku habboonayaa in a Haku different try for num i startIndex try for Therefore, in the second fragment, two different variables are compared in an identical check: iyo Markaas ka mid ah wax soo saarka ah waa in ay ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ah mid ka mid ah. . num i startIndex == startIndex Sidaa waxaa laga yaabaa in la soo xiriir ka mid ah dalalka ugu horeysay ee loo yaabaa. ? But what does the error impact Waayo, waxa uu ka mid ah wax soo saarka ah oo ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah. prefix means that the class is used in the game scripting mechanism. The method with error is responsible for assigning bonuses to game attributes such as "Strength", "Agility", etc. Logically, the method is supposed to read a specific bonus index from the in-game script and then apply the corresponding modifier. So how should this have worked? Script First, waxaan u baahan tahay si ay u hesho index bonus ee block: try try { num = Integer.parseInt(bonusID); number = true; } .... Markaas ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah: for (int i = 0; i < bonuses.length; ++i) { .... if (number && i == num || ....) { noNBTText = bonusValues[i][0] + ";" + bonusValueString; bonuses[i] = ""; bonuses[i] = noNBTText; .... break; } } Sida loo yaabaa, waxaa loo yaabaa in ay ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah: try { startIndex = Integer.parseInt(bonusID); number = true; } catch (Exception var34) { number = false; } for (startIndex = 0; startIndex < bonuses.length; ++startIndex) { .... if (number && startIndex == startIndex || // <= !number && bonusValues[startIndex][0].equals(bonusID) ) { noNBTText = bonusValues[startIndex][0] + ";" + bonusValueString; .... } } Markaas ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah. Haku: Haku Waxaa laga yaabaa in la warqad iyo waa zero, iyo ka dib markii ay soo bandhigay si toos ah. Tani is problem crystal clear. Let's look at the consequences of the error. first startIndex for Waayo, waxaan u baahan tahay in ay ku saabsan script-in-game oo loo soo saarka bonuses for "Strength". Waayo, ka dibna soo saarka 2 bonussada oo ka mid ah 1 iyo ka dibna soo saarka 5 iyo 15, soo saarka: This is what in-game scripts look like. We created bonuses for "Strength" with indices 0 and 1, and then assigned them the values. Tani, in theory, haddii aad u soo bandhigi karaa mid ka mid ka mid ah "Strength", waxaan ka heli karaa 5 iyo 15? Haddii waxa uu ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah. Sida loo yaabaa, waxaan ka soo xiriir in ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah: Haku As a result, we get: Haku Markaas, bonus ka mid ah "Power" waxaa ka mid ah ugu horeysay ee 1, laakiin bonus ka mid ah oo ka mid ah 15 waa mid ka mid ah in uu ka mid ah 5 ka mid ah, oo ka mid ah 15 ka mid ah. Waayo, wax soo saarka detective ah oo ku yaalaa in ay wax soo saarka this bug in la isticmaali karaa in la isticmaali karaa, waxaan ku dhigi karaa in la isticmaali karaa in la isticmaali karaa. Dhismaha Top 10 ah! honorable first place Haku Waayo, waxaan ka soo dejisan in ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah. Haddii aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan yahay. Oo oo . Haku Blog Sidaa If you feel inspired to check your individual projects and want to try PvS-Studio analyzer yourself, si aad u aragto Sida loo yaqaan 'PvS-Studio' waxaa loo isticmaali karaa in ay ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah. . Haku here Waayo, waxa uu ku yaalaa in la soo xiriir. Happy Holidays! See ya soon!