Skip to content

Using "Value::named" search for call to "os.path.join" not working #3261

Open
@Iceware

Description

@Iceware

CodeQL version 2.1.0

from rest_framework.viewsets import ModelViewSet
from rest_framework.exceptions import ValidationError
import os
from rest_framework.decorators import list_route


def func1():
    pass


def preprocess(request):
    pass


class TestViewSet(ModelViewSet):
    base = "111111"
    @list_route(methods=['post'])
    def upload(self, request):
        try:
            var1 = func1()
        except:
            raise ValidationError({'message': [_('1,1')]})
        if var1['1']:
            raise ValidationError({'message': [_('1,1')]})

        (upload_file, file_name) = preprocess(request)
        path1 = base.RELATED_DIR['11111111']
        if not os.path.exists(path1):
            os.makedirs(path1)
        path2 = os.path.join(path1, file_name)

Query:

import python
from ControlFlowNode c
where Value::named("os.path.join").getACall() = c
select c

Expect result:
Can find the call to "os.path.join" on the last line

Actual result:
Just show 2 call in the python lib

Is this a bug or am I doing this in the wrong way?

Metadata

Metadata

Assignees

No one assigned

    Labels

    PythonquestionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions