Skip to content

🤖 Automated OpenRouter Security Patch - #15

Open
github-actions[bot] wants to merge 129 commits into
masterfrom
openrouter-ai-patches-rev1
Open

🤖 Automated OpenRouter Security Patch#15
github-actions[bot] wants to merge 129 commits into
masterfrom
openrouter-ai-patches-rev1

Conversation

@github-actions

@github-actions github-actions Bot commented Jul 11, 2026

Copy link
Copy Markdown

🔍 Detected Vulnerabilities by File (with lines):

📁 OpenSim/Region/PhysicsModules/ubOdeMeshing/Meshmerizer.cs

  • Line 212 | cs/unvalidated-local-pointer-arithmetic: Unvalidated pointer arithmetic from virtual method AsBinary.
  • Line 217 | cs/unvalidated-local-pointer-arithmetic: Unvalidated pointer arithmetic from virtual method AsBinary.
  • Line 233 | cs/unvalidated-local-pointer-arithmetic: Unvalidated pointer arithmetic from virtual method AsBinary.
  • Line 238 | cs/unvalidated-local-pointer-arithmetic: Unvalidated pointer arithmetic from virtual method AsBinary.
  • Line 522 | cs/unvalidated-local-pointer-arithmetic: Unvalidated pointer arithmetic from virtual method AsBinary.
  • Line 540 | cs/unvalidated-local-pointer-arithmetic: Unvalidated pointer arithmetic from virtual method AsBinary.
  • Line 552 | cs/unvalidated-local-pointer-arithmetic: Unvalidated pointer arithmetic from virtual method AsBinary.
  • Line 580 | cs/unvalidated-local-pointer-arithmetic: Unvalidated pointer arithmetic from virtual method AsBinary.
  • Line 535 | cs/unvalidated-local-pointer-arithmetic: Unvalidated pointer arithmetic from virtual method AsBinary.
  • Line 546 | cs/unvalidated-local-pointer-arithmetic: Unvalidated pointer arithmetic from virtual method AsBinary.
  • Line 574 | cs/unvalidated-local-pointer-arithmetic: Unvalidated pointer arithmetic from virtual method AsBinary.
  • Line 468 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 504 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
  • Line 504 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
  • Line 1387 | cs/static-field-written-by-instance: Write to static field from instance method, property, or constructor.
  • Line 442 | cs/useless-assignment-to-local: This assignment to decodedMeshOsd is useless, since its value is never read.
  • Line 481 | cs/useless-assignment-to-local: This assignment to hullr is useless, since its value is never read.
  • Line 537 | cs/useless-assignment-to-local: This assignment to truncated is useless, since its value is never read.
  • Line 735 | cs/useless-assignment-to-local: This assignment to unusedData is useless, since its value is never read.
  • Line 458 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 911 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 944 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 1089 | cs/empty-catch-block: Poor error handling: empty catch block.
  • Line 1137 | cs/empty-catch-block: Poor error handling: empty catch block.
  • Line 1188 | cs/empty-catch-block: Poor error handling: empty catch block.
  • Line 1201 | cs/empty-catch-block: Poor error handling: empty catch block.
  • Line 1233 | cs/empty-catch-block: Poor error handling: empty catch block.
  • Line 1317 | cs/empty-catch-block: Poor error handling: empty catch block.
  • Line 1433 | cs/empty-catch-block: Poor error handling: empty catch block.
  • Line 1415 | cs/empty-catch-block: Poor error handling: empty catch block.
  • Line 1411 | cs/empty-catch-block: Poor error handling: empty catch block.
  • Line 1271 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 1272 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 1279 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 1280 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 1388 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 1439 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 886 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 1336 | cs/missed-using-statement: This variable is manually disposed in a finally block - consider a C# using statement as a preferable resource management technique.
  • Line 279 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 293 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 308 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 399 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 456 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 755 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 909 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 942 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 1089 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 1137 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 1188 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 1201 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 1233 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 1302 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 1317 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 1433 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 1415 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 1411 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 1453 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 1470 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 1484 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 1498 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 1576 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 878 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 897 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Single.
  • Line 898 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Single.
  • Line 922 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Single.
  • Line 923 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Single.

📁 OpenSim/Region/PhysicsModules/BulletS/BSShapes.cs

  • Line 592 | cs/complex-condition: Complex condition: too many logical operations in this expression.
  • Line 519 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 946 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 1193 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 1307 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 600 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 594 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 597 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 598 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 599 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 592 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 593 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 595 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 596 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 89 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 97 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 103 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 199 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 202 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 335 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 287 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 843 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 113 | cs/missed-readonly-modifier: Field 'LogHeader' can be 'readonly'.
  • Line 364 | cs/missed-readonly-modifier: Field 'LogHeader' can be 'readonly'.
  • Line 445 | cs/missed-readonly-modifier: Field 'LogHeader' can be 'readonly'.
  • Line 639 | cs/missed-readonly-modifier: Field 'LogHeader' can be 'readonly'.
  • Line 967 | cs/missed-readonly-modifier: Field 'LogHeader' can be 'readonly'.
  • Line 1113 | cs/missed-readonly-modifier: Field 'LogHeader' can be 'readonly'.
  • Line 1215 | cs/missed-readonly-modifier: Field 'LogHeader' can be 'readonly'.
  • Line 1328 | cs/missed-readonly-modifier: Field 'LogHeader' can be 'readonly'.
  • Line 1399 | cs/missed-readonly-modifier: Field 'avatarVertices' can be 'readonly'.
  • Line 1439 | cs/missed-readonly-modifier: Field 'avatarIndices' can be 'readonly'.

📁 OpenSim/Region/PhysicsModules/Meshing/Meshmerizer/Mesh.cs

  • Line 101 | cs/complex-condition: Complex condition: too many logical operations in this expression.
  • Line 373 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 394 | cs/linq/missed-select: This foreach loop immediately maps its iteration variable to another variable - consider mapping the sequence explicitly using '.Select(...)'.
  • Line 55 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 55 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 55 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 103 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 101 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 102 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 103 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 103 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 101 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 101 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 102 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 102 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 392 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 55 | cs/missed-ternary-operator: Both branches of this 'if' statement return - consider using '?' to express intent better.
  • Line 144 | cs/missed-ternary-operator: Both branches of this 'if' statement return - consider using '?' to express intent better.

📁 OpenSim/Region/PhysicsModules/ubOdeMeshing/Mesh.cs

  • Line 219 | cs/complex-condition: Complex condition: too many logical operations in this expression.
  • Line 444 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 223 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 219 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 221 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 223 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 223 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 219 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 219 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 221 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 221 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 465 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 557 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 593 | cs/catch-of-all-exceptions: Generic catch clause.

📁 OpenSim/Region/ScriptEngine/YEngine/MMRScriptTokenize.cs

  • Line 548 | cs/complex-condition: Complex condition: too many logical operations in this expression.
  • Line 575 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
  • Line 580 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
  • Line 585 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
  • Line 590 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
  • Line 595 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
  • Line 600 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
  • Line 756 | cs/nested-loops-with-same-variable: Nested for statement uses loop variable j of enclosing for statement (on line 714).
  • Line 439 | cs/useless-assignment-to-local: This assignment to j is useless, since its value is never read.
  • Line 446 | cs/useless-assignment-to-local: This assignment to j is useless, since its value is never read.
  • Line 610 | cs/useless-assignment-to-local: This assignment to j is useless, since its value is never read.
  • Line 679 | cs/useless-assignment-to-local: This assignment to len is useless, since its value is never read.
  • Line 174 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 2598 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 2674 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 2703 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 205 | cs/missed-readonly-modifier: Field 'options' can be 'readonly'.
  • Line 962 | cs/missed-readonly-modifier: Field 'constrTypes' can be 'readonly'.
  • Line 976 | cs/missed-readonly-modifier: Field 'str' can be 'readonly'.
  • Line 977 | cs/missed-readonly-modifier: Field 'ctorInfo' can be 'readonly'.
  • Line 985 | cs/missed-readonly-modifier: Field 'delims' can be 'readonly'.
  • Line 1042 | cs/missed-readonly-modifier: Field 'keywords' can be 'readonly'.
  • Line 1043 | cs/missed-readonly-modifier: Field 'arrayKeywords' can be 'readonly'.
  • Line 1044 | cs/missed-readonly-modifier: Field 'advFlowCtlKeywords' can be 'readonly'.
  • Line 1045 | cs/missed-readonly-modifier: Field 'tryCatchKeywords' can be 'readonly'.
  • Line 1046 | cs/missed-readonly-modifier: Field 'objectsKeywords' can be 'readonly'.
  • Line 1047 | cs/missed-readonly-modifier: Field 'charsKeywords' can be 'readonly'.
  • Line 1686 | cs/invalid-string-formatting: Invalid format string used in this formatting call.
  • Line 1695 | cs/invalid-string-formatting: Invalid format string used in this formatting call.
  • Line 239 | cs/local-not-disposed: Disposable 'MD5' is created but not disposed.

📁 OpenSim/Server/Handlers/Login/LLLoginHandlers.cs

  • Line 84 | cs/complex-condition: Complex condition: too many logical operations in this expression.
  • Line 93 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
  • Line 97 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
  • Line 106 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
  • Line 165 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
    Inefficient use of 'ContainsKey' and indexer.
  • Line 85 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
    Inefficient use of 'ContainsKey' and indexer.
  • Line 86 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
  • Line 84 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
    Inefficient use of 'ContainsKey' and indexer.
  • Line 164 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
    Inefficient use of 'ContainsKey' and indexer.
  • Line 87 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
    Inefficient use of 'ContainsKey' and indexer.
  • Line 163 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
    Inefficient use of 'ContainsKey' and indexer.
  • Line 162 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
    Inefficient use of 'ContainsKey' and indexer.
  • Line 99 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 68 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 160 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 47 | cs/missed-readonly-modifier: Field 'm_LocalService' can be 'readonly'.
  • Line 48 | cs/missed-readonly-modifier: Field 'm_Proxy' can be 'readonly'.

📁 OpenSim/Services/GridService/HypergridLinker.cs

  • Line 765 | cs/complex-condition: Complex condition: too many logical operations in this expression.
  • Line 598 | cs/static-field-written-by-instance: Write to static field from instance method, property, or constructor.
  • Line 599 | cs/static-field-written-by-instance: Write to static field from instance method, property, or constructor.
  • Line 600 | cs/static-field-written-by-instance: Write to static field from instance method, property, or constructor.
  • Line 592 | cs/static-field-written-by-instance: Write to static field from instance method, property, or constructor.
  • Line 593 | cs/static-field-written-by-instance: Write to static field from instance method, property, or constructor.
  • Line 594 | cs/static-field-written-by-instance: Write to static field from instance method, property, or constructor.
  • Line 285 | cs/lock-this: 'this' used in lock statement.
  • Line 318 | cs/empty-catch-block: Poor error handling: empty catch block.
  • Line 705 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 111 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 318 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 351 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 596 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 655 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 737 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 225 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 301 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 305 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 401 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 349 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Int32.
  • Line 701 | cs/local-not-disposed: Disposable 'XmlReader' is created but not disposed.

📁 OpenSim/Framework/Util.cs

  • Line 867 | cs/complex-block: Block with too many statements (6 complex statements in the block).
  • Line 4638 | cs/complex-block: Block with too many statements (4 complex statements in the block).
  • Line 1975 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 1985 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 2102 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 2115 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 2394 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 2422 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 4813 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 4075 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
  • Line 4080 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
    Inefficient use of 'ContainsKey' and indexer.
  • Line 399 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 360 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 360 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 360 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 3386 | cs/useless-assignment-to-local: This assignment to r is useless, since its value is never read.
  • Line 3524 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 2778 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 3047 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 4759 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 3328 | cs/unmanaged-code: Minimise the use of unmanaged code.
  • Line 3338 | cs/unmanaged-code: Minimise the use of unmanaged code.
  • Line 3361 | cs/unmanaged-code: Minimise the use of unmanaged code.
  • Line 3401 | cs/unmanaged-code: Minimise the use of unmanaged code.
  • Line 3334 | cs/call-to-unmanaged-code: Replace this call with a call to managed code if possible.
  • Line 3344 | cs/call-to-unmanaged-code: Replace this call with a call to managed code if possible.
  • Line 3352 | cs/call-to-unmanaged-code: Replace this call with a call to managed code if possible.
  • Line 3354 | cs/call-to-unmanaged-code: Replace this call with a call to managed code if possible.
  • Line 3386 | cs/call-to-unmanaged-code: Replace this call with a call to managed code if possible.
  • Line 3038 | cs/empty-catch-block: Poor error handling: empty catch block.
  • Line 3044 | cs/empty-catch-block: Poor error handling: empty catch block.
  • Line 3871 | cs/empty-catch-block: Poor error handling: empty catch block.
  • Line 3635 | cs/empty-catch-block: Poor error handling: empty catch block.
  • Line 1145 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 1145 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 1147 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 1147 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 1544 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 1545 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 1596 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 1653 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 2079 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 2085 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 2476 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 2987 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 4879 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 1593 | cs/path-combine: Call to 'System.IO.Path.Combine' may silently drop its earlier arguments.
  • Line 3698 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 3474 | cs/missed-readonly-modifier: Field 'DoTimeout' can be 'readonly'.
  • Line 553 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 661 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 1523 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 1858 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 1891 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 1921 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 2490 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 2544 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 2558 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 2572 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 2938 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 3038 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 3044 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 3871 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 4064 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 4083 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 3638 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 1144 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 2142 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 3605 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 4396 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 4462 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 4725 | cs/missed-ternary-operator: Both branches of this 'if' statement return - consider using '?' to express intent better.
  • Line 4806 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 1458 | cs/local-not-disposed: Disposable 'MD5' is created but not disposed.
  • Line 1459 | cs/local-not-disposed: Disposable 'MD5' is created but not disposed.
  • Line 1460 | cs/local-not-disposed: Disposable 'SHA256' is created but not disposed.

📁 OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs

  • Line 4466 | cs/complex-block: Block with too many statements (4 complex statements in the block).
  • Line 5521 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 5720 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 10815 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 10744 | cs/linq/missed-select: This foreach loop immediately maps its iteration variable to another variable - consider mapping the sequence explicitly using '.Select(...)'.
  • Line 10762 | cs/linq/missed-select: This foreach loop immediately maps its iteration variable to another variable - consider mapping the sequence explicitly using '.Select(...)'.
  • Line 1741 | cs/string-concatenation-in-loop: String concatenation in loop: use 'StringBuilder'.
  • Line 1742 | cs/string-concatenation-in-loop: String concatenation in loop: use 'StringBuilder'.
  • Line 8175 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
  • Line 1765 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
  • Line 10452 | cs/inefficient-containskey: Inefficient use of 'ContainsKey' and indexer.
  • Line 9268 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 9272 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 10975 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 1023 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 9264 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 9264 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 1023 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 1023 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 1341 | cs/misleading-indentation: Missing braces? Inspect indentation of the control flow successor.
  • Line 4425 | cs/misleading-indentation: Missing braces? Inspect indentation of the control flow successor.
  • Line 5711 | cs/unsafe-sync-on-field: Locking field GroupsInView guards the initial value, not the value which may be seen from another thread after reassignment.
  • Line 8164 | cs/unsafe-sync-on-field: Locking field m_groupPowers guards the initial value, not the value which may be seen from another thread after reassignment.
  • Line 553 | cs/useless-assignment-to-local: This assignment to myself is useless, since its value is never read.
  • Line 9752 | cs/useless-assignment-to-local: This assignment to undolanditem is useless, since its value is never read.
  • Line 10445 | cs/useless-assignment-to-local: This assignment to pkt is useless, since its value is never read.
  • Line 11030 | cs/useless-assignment-to-local: This assignment to mPacket is useless, since its value is never read.
  • Line 11036 | cs/useless-assignment-to-local: This assignment to epack is useless, since its value is never read.
  • Line 12043 | cs/useless-assignment-to-local: This assignment to rimpInstantMessagePack is useless, since its value is never read.
  • Line 12170 | cs/useless-assignment-to-local: This assignment to lrp is useless, since its value is never read.
  • Line 7382 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 7384 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 7898 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 7900 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 10805 | cs/call-to-object-tostring: Default 'ToString()': EstateOwnerMessagePacket inherits 'ToString()' from 'Object', and so is not suitable for printing.
  • Line 7277 | cs/dereferenced-value-may-be-null: Variable part may be null at this access because of this potential null argument.
  • Line 2708 | cs/xmldoc/missing-summary: Documentation should have a summary.
  • Line 555 | cs/virtual-call-in-constructor: Avoid virtual calls in a constructor or destructor.
  • Line 10426 | cs/catch-nullreferenceexception: Poor error handling: try to fix the cause of the 'NullReferenceException'.
  • Line 10960 | cs/empty-catch-block: Poor error handling: empty catch block.
  • Line 12176 | cs/empty-catch-block: Poor error handling: empty catch block.
  • Line 12192 | cs/empty-catch-block: Poor error handling: empty catch block.
  • Line 4823 | cs/constant-condition: Condition is always true because of access to property IsActive.
  • Line 5122 | cs/constant-condition: Condition is always true because of access to property IsActive.
  • Line 5671 | cs/constant-condition: Condition is always true because of access to property IsActive.
  • Line 4653 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 4926 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 4980 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 5817 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 7277 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 7840 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 9264 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 9567 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 10879 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 10893 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 10912 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 10997 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 11599 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 11601 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 12607 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 12669 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 1585 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 1726 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 8700 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 9045 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 10803 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 10960 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 11256 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 12176 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 12192 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 3593 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 6302 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 6326 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 6331 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 6336 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 6341 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 6605 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 6671 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 7186 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 7250 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 7381 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 7897 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 9004 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 12131 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 13424 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 1031 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Int32.
  • Line 3647 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Byte.
  • Line 6535 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Int32.
  • Line 6542 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Int32.
  • Line 6549 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Int32.
  • Line 6554 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Int32.
  • Line 6558 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Int32.
  • Line 6563 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Int32.
  • Line 6592 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Int32.
  • Line 9947 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Scene.
  • Line 9952 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Scene.
  • Line 11013 | cs/useless-cast-to-self: This cast is redundant because the expression already has type String.
  • Line 1741 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Int32.
  • Line 1742 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Int32.
  • Line 651 | cs/call-to-gc: Call to 'GC.Collect()'.
  • Line 653 | cs/call-to-gc: Call to 'GC.Collect()'.
  • Line 64 | cs/coupled-types: Type LLClientView is too closely tied to LLUDPServer (67 dependencies one way and 19 the other).

📁 OpenSim/Region/PhysicsModules/ConvexDecompositionDotNet/HullUtils.cs

  • Line 680 | cs/complex-block: Block with too many statements (4 complex statements in the block).
  • Line 1405 | cs/complex-block: Block with too many statements (5 complex statements in the block).
  • Line 276 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 465 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 1521 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 1628 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 1770 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 219 | cs/useless-assignment-to-local: This assignment to w is useless, since its value is never read.
  • Line 232 | cs/useless-assignment-to-local: This assignment to w is useless, since its value is never read.
  • Line 248 | cs/useless-assignment-to-local: This assignment to impact is useless, since its value is never read.
  • Line 249 | cs/useless-assignment-to-local: This assignment to normal is useless, since its value is never read.
  • Line 255 | cs/useless-assignment-to-local: This assignment to normal is useless, since its value is never read.
  • Line 261 | cs/useless-assignment-to-local: This assignment to the_point is useless, since its value is never read.
  • Line 300 | cs/useless-assignment-to-local: This assignment to pp1 is useless, since its value is never read.
  • Line 301 | cs/useless-assignment-to-local: This assignment to pp2 is useless, since its value is never read.
  • Line 302 | cs/useless-assignment-to-local: This assignment to side is useless, since its value is never read.
  • Line 684 | cs/useless-assignment-to-local: This assignment to vertscoplanar is useless, since its value is never read.
  • Line 685 | cs/useless-assignment-to-local: This assignment to edgesplit is useless, since its value is never read.
  • Line 1287 | cs/useless-assignment-to-local: This assignment to ti is useless, since its value is never read.
  • Line 1483 | cs/useless-assignment-to-local: This assignment to verts_count_out is useless, since its value is never read.
  • Line 1502 | cs/useless-assignment-to-local: This assignment to planes is useless, since its value is never read.
  • Line 1851 | cs/useless-assignment-to-local: This assignment to vcount is useless, since its value is never read.
  • Line 1854 | cs/useless-assignment-to-local: This assignment to scale is useless, since its value is never read.
  • Line 186 | cs/dereferenced-value-may-be-null: Variable t may be null at this access because of this assignment.
  • Line 549 | cs/constant-condition: Condition is always false because of call to method Assert.
  • Line 1446 | cs/simplifiable-boolean-expression: The expression 'A == false' can be simplified to '!A'.
  • Line 1525 | cs/simplifiable-boolean-expression: The expression 'A == false' can be simplified to '!A'.
  • Line 1568 | cs/simplifiable-boolean-expression: The expression 'A == false' can be simplified to '!A'.
  • Line 854 | cs/simplifiable-boolean-expression: The expression '!(A != B)' can be simplified to 'A == B'.
  • Line 437 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Single.
  • Line 1013 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Byte.

📁 OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs

  • Line 492 | cs/complex-block: Block with too many statements (4 complex statements in the block).
  • Line 1218 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 671 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 673 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 675 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 677 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 1404 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 1406 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 1408 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 1414 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 1416 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 1418 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 1424 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 1426 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 1428 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 2160 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 2227 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 3000 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 3035 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 3040 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 3141 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 175 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 230 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 246 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 463 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 473 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 690 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 726 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 742 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 175 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 175 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 230 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 230 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 246 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 246 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 463 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 473 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 690 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 726 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 742 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 463 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 463 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 473 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 473 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 690 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 690 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 726 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 726 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 742 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 742 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 2241 | cs/equals-uses-is: list.Equals(object) should not use "is" on its parameter, as it will not work properly for subclasses of list.
  • Line 1220 | cs/reference-equality-with-object: Reference equality for System.Object comparisons (this argument has type Object).
  • Line 1971 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 1975 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 1988 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 2194 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 855 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 828 | cs/chained-type-tests: This if block performs a chain of 7 type tests - consider alternatives, e.g. polymorphism or the visitor pattern.
  • Line 2017 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 2030 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 2649 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 2160 | cs/missed-ternary-operator: Both branches of this 'if' statement return - consider using '?' to express intent better.
  • Line 2271 | cs/missed-ternary-operator: Both branches of this 'if' statement return - consider using '?' to express intent better.
  • Line 2297 | cs/missed-ternary-operator: Both branches of this 'if' statement return - consider using '?' to express intent better.
  • Line 2406 | cs/missed-ternary-operator: Both branches of this 'if' statement return - consider using '?' to express intent better.
  • Line 2680 | cs/missed-ternary-operator: Both branches of this 'if' statement return - consider using '?' to express intent better.
  • Line 2717 | cs/missed-ternary-operator: Both branches of this 'if' statement return - consider using '?' to express intent better.
  • Line 2162 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Double.

📁 OpenSim/Region/ScriptEngine/YEngine/MMRScriptCodeGen.cs

  • Line 225 | cs/complex-block: Block with too many statements (5 complex statements in the block).
  • Line 338 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 369 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 390 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 590 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 667 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 699 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 725 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 789 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 823 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 841 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 1342 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 1372 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 1447 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 1530 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 5052 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 241 | cs/linq/missed-select: This foreach loop immediately maps its iteration variable to another variable - consider mapping the sequence explicitly using '.Select(...)'.
  • Line 251 | cs/linq/missed-select: This foreach loop immediately maps its iteration variable to another variable - consider mapping the sequence explicitly using '.Select(...)'.
  • Line 881 | cs/linq/missed-select: This foreach loop immediately maps its iteration variable to another variable - consider mapping the sequence explicitly using '.Select(...)'.
  • Line 5447 | cs/equality-on-floats: Equality checks on floating point values can yield unexpected results.
  • Line 302 | cs/useless-assignment-to-local: This assignment to itIsAGoodDayToDie is useless, since its value is never read.
  • Line 143 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 6243 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 1886 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 2462 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 3280 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 3987 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 4066 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 4526 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 4570 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 4623 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 5423 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 5656 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 5671 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 5690 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 6083 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 4841 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 3870 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 6083 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 4840 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 6275 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 553 | cs/dereferenced-value-may-be-null: Variable extends may be null at this access as suggested by this null check.
  • Line 3264 | cs/dereferenced-value-may-be-null: Variable catchVarLocExc may be null at this access because of this assignment.
  • Line 3274 | cs/dereferenced-value-may-be-null: Variable catchVarLocStr may be null at this access because of this assignment.
  • Line 644 | cs/dereferenced-value-may-be-null: Variable meth may be null at this access because of this assignment.
  • Line 4474 | cs/empty-catch-block: Poor error handling: empty catch block.
  • Line 4028 | cs/chained-type-tests: This if block performs a chain of 18 type tests - consider alternatives, e.g. polymorphism or the visitor pattern.
  • Line 737 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 1053 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 5707 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 183 | cs/missed-readonly-modifier: Field 'allCallLabels' can be 'readonly'.
  • Line 6300 | cs/missed-readonly-modifier: Field 'label' can be 'readonly'.
  • Line 6301 | cs/missed-readonly-modifier: Field 'block' can be 'readonly'.
  • Line 4474 | cs/catch-of-all-exceptions: Generic catch clause.
  • Line 4157 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 4712 | cs/missed-ternary-operator: Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
  • Line 5110 | cs/useless-cast-to-self: This cast is redundant because the expression already has type Token.
  • Line 62 | cs/coupled-types: Type ScriptCodeGen is too closely tied to CompValu (190 dependencies one way and 24 the other).

📁 OpenSim/Region/ScriptEngine/YEngine/MMRScriptCollector.cs

  • Line 2516 | cs/complex-block: Block with too many statements (5 complex statements in the block).
  • Line 2623 | cs/complex-block: Block with too many statements (9 complex statements in the block).
  • Line 2496 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 2967 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 2913 | cs/stringbuilder-creation-in-loop: Creating a 'StringBuilder' in a loop.
  • Line 383 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 2915 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 1226 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 1267 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 1421 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 1474 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 1584 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 1658 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 1743 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 1822 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 1927 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 1976 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 2015 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 2050 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 2085 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 2133 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 2168 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 2983 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 1742 | cs/useless-tostring-call: Redundant call to 'ToString'.
  • Line 2594 | cs/dereferenced-value-may-be-null: Variable currentBlock may be null at this access because of this assignment.
  • Line 2601 | cs/dereferenced-value-may-be-null: Variable currentBlock may be null at this access because of this assignment.
  • Line 1354 | cs/constant-condition: Condition is always false because of ... is ....
  • Line 2804 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 2867 | cs/nested-if-statements: These 'if' statements can be combined.
  • Line 486 | cs/missed-readonly-modifier: Field 'gn' can be 'readonly'.
  • Line 502 | cs/missed-readonly-modifier: Field 'gn' can be 'readonly'.
  • Line 504 | cs/missed-readonly-modifier: Field 'realEnumerator' can be 'readonly'.
  • Line 559 | cs/missed-readonly-modifier: Field 'gn' can be 'readonly'.
  • Line 726 | cs/missed-readonly-modifier: Field 'gn' can be 'readonly'.
  • Line 960 | cs/missed-readonly-modifier: Field 'gn' can be 'readonly'.
  • Line 1296 | cs/missed-readonly-modifier: Field 'gn' can be 'readonly'.
  • Line 1297 | cs/missed-readonly-modifier: Field 'leaveTargetEnumerator' can be 'readonly'.
  • Line 1689 | cs/missed-readonly-modifier: Field 'gn' can be 'readonly'.
  • Line 1776 | cs/missed-readonly-modifier: Field 'gn' can be 'readonly'.
  • Line 1862 | cs/missed-readonly-modifier: Field 'gn' can be 'readonly'.
  • Line 2249 | cs/missed-readonly-modifier: Field 'cps' can be 'readonly'.
  • Line 2250 | cs/missed-readonly-modifier: Field 'ci' can be 'readonly'.
  • Line 2314 | cs/missed-readonly-modifier: Field 'declaredLocals' can be 'readonly'.
  • Line 2315 | cs/missed-readonly-modifier: Field 'definedLabels' can be 'readonly'.

📁 OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs

  • Line 12883 | cs/complex-block: Block with too many statements (4 complex statements in the block).
  • Line 14343 | cs/complex-block: Block with too many statements (6 complex statements in the block).
  • Line 1519 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 2359 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 2586 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
  • Line 4966 | cs/linq/missed-where: This foreach loop implicitly filters its target sequence - consider filtering the sequence explicit

AdilElFarissi and others added 23 commits July 7, 2026 01:59
Added a closing brace to the Meshmerizer class.
Removed Semgrep scan job from the security scan workflow.
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Update copilot instructions (use GetNewGlobalHttpClient() and fix typos) and harden .github/workflows/mass-code-autofix.yml: trim CodeQL queries, add APIStatusError handling and x-ratelimit checks, switch to raw OpenRouter responses, change model, increase MAX_ALERTS_PER_FILE to 20, add already_patched.json read/write and skip logic, introduce stop_all_processing to halt on quota, adjust SARIF filename check message, and rename PR branch to openrouter-ai-patches-rev1.
@github-actions
github-actions Bot force-pushed the openrouter-ai-patches-rev1 branch from 12a4e04 to 261590b Compare July 11, 2026 03:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant