V3066. Possible incorrect order of arguments passed to method.

The analyzer detected a suspicious sequence of arguments passed to a method. Perhaps, some arguments are misplaced.

An example of suspicious code:

void SetARGB(byte a, byte r, byte g, byte b) 
{ .... }
void Foo(){
  byte A = 0, R = 0, G = 0, B = 0; 
  ....
  SetARGB(A, R, B, G);
  ....
}

When defining the object color, the programmer accidentally swapped the blue and green color parameters.

The fixed version of the code should look like this:

SetARGB(A, R, G, B);

Here's an example from a real project:

public virtual string Qualify(string catalog, 
                              string schema, 
                              string table)
{ .... }
public Table AddDenormalizedTable(....) {
  string key = subselect ?? 
    dialect.Qualify(schema, catalog, name); 
  ....
}

As logic suggests, the code should actually look like this:

public Table AddDenormalizedTable(....) {
  string key = subselect ?? 
    dialect.Qualify(catalog, schema, name); 
  ....
}

According to Common Weakness Enumeration, potential errors found by using this diagnostic are classified as CWE-683.

You can look at examples of errors detected by the V3066 diagnostic.


Bugs Found

Checked Projects
409
Collected Errors
14 072
This website uses cookies and other technology to provide you a more personalized experience. By continuing the view of our web-pages you accept the terms of using these files. If you don't want your personal data to be processed, please, leave this site. Learn More →
Accept