Skip to content

Java: unreasonable flow #10828

@flowingair

Description

@flowingair

PostUpdateNode or ThisAcess may flow to the wrong ClassInstanceExpr of the class.

Which may lead to wrong result and slow down the analyze.

How can i fix it?

for example this.data will flow to new RealSource(data);

package WrongPath;

public class RealSource {
    private String data;

    public RealSource(String data) {
        this.data = data;
    }

    public String getData() {
        return data;
    }
}

package WrongPath;

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

public class FakeSource {
    public FakeSource() {
        String data = "";
        RealSource realSource = new RealSource(data);
        try {
            URL url = new URL(realSource.getData());
            URLConnection urlConnection = url.openConnection();
            urlConnection.connect();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    JavaquestionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions