MCPcopy Create free account

hub / github.com/akwick/gotcha / functions

Functions454 in github.com/akwick/gotcha

↓ 2 callersFunctionsink
(s string)
tests/exampleCode/aliasingThroughFields2.go:40
↓ 2 callersFunctionsink
(s string)
tests/exampleCode/chanClosureNestedChangeValue.go:23
↓ 2 callersFunctionsink
(s string)
tests/exampleCode/aliasingThroughFields.go:36
↓ 2 callersFunctionsink
(s string)
tests/exampleCode/structTestV3Val.go:28
↓ 2 callersFunctionsink
(s *string)
tests/exampleCode/pointerChan.go:17
↓ 2 callersFunctionsink
(s string)
tests/exampleCode/chanPaper2.go:23
↓ 2 callersFunctionsink
(s string)
tests/exampleCode/sinkSourceV2.go:12
↓ 2 callersFunctionsink
(s string)
tests/exampleCode/chanClosureChangeValueBeforeClosure.go:23
↓ 2 callersFunctionsink
(s *string)
tests/exampleCode/chanPaper0.go:17
↓ 2 callersFunctionsink
(s string)
tests/exampleCode/sinkSourceV2ChangeOrder.go:13
↓ 2 callersFunctionsink
(s string)
tests/exampleCode/chanClosureChangeValue.go:23
↓ 2 callersFunctionsource
()
tests/exampleCode/sinkSourceV3.go:18
↓ 1 callersMethodAddSucc
AddSucc adds all sccessors of n to the worklist
worklist/wlMap.go:100
↓ 1 callersMethodBottomElement
BottomElement returns the bottom element of a lattice value
lattice/lattice.go:58
↓ 1 callersMethodBottomLattice
BottomLattice returns the lowest lattice
lattice/lattice.go:30
↓ 1 callersFunctionDoAnalysis
DoAnalysis handles the worklist algorithm. path is the relative path starting from $GOPATH sourcefiles are the source file which should be analyzed. s
worklist/worklist.go:76
↓ 1 callersMethodEmpty
Empty returns true if no element is remaining in the worklist.
worklist/wlMap.go:75
↓ 1 callersMethodEqual
Equal returns tlv == lv. Returns an error (ErrOnlyTaintValueAcc) if lv is not a taint.Value.
lattice/taint/taintLattice.go:445
↓ 1 callersMethodGetCalls
()
ssabuilder/chanSend.go:33
↓ 1 callersMethodGetData
GetData returns the string in position i or an empty string if i does not exist
tests/exampleCode/simpleLinkedListOnlyTaint.go:29
↓ 1 callersMethodGetFunction
()
worklist/valueContext.go:58
↓ 1 callersMethodGetID
GetID returns the id of a valuecontext
worklist/valueContext.go:290
↓ 1 callersMethodGetIn
GetIn returns the in lattice of context c
worklist/contextCallSite.go:97
↓ 1 callersMethodGetIn
()
worklist/valueContext.go:48
↓ 1 callersMethodGetMainPackage
()
ssabuilder/ssaHelper.go:60
↓ 1 callersMethodGetSSAValMayAlias
(v ssa.Value)
lattice/taint/taintLatticePointer.go:146
↓ 1 callersMethodGetSig
()
lattice/taint/parser.go:32
↓ 1 callersMethodGetVal
(key ssa.Value)
lattice/taint/taintLatticePointer.go:113
↓ 1 callersMethodGreater
Greater computes: l1 > l2. Throws an error if t2 is not of type taint.Lattice.
lattice/taint/taintLattice.go:277
↓ 1 callersMethodGreaterEqual
GreaterEqual returns tlv >= lv. Returns an error if lv is not of type taint.Value.
lattice/taint/taintLattice.go:480
↓ 1 callersMethodINEqual
INEqual tests whether the entry Lattice of two value contexts are equal params are the parameter for the function which creates v. v2 is an arbitrary
worklist/valueContext.go:262
↓ 1 callersFunctionIsIndirectPtr
IsIndirectPtr checks whether the value is an indirect pointer value In the positive case the function returns the ssa.Value.
lattice/taint/flow_helper.go:28
↓ 1 callersMethodLeastElement
LeastElement returns the least element (_|_)
lattice/lattice.go:18
↓ 1 callersMethodLeastElement
LeastElement returns a Lattice in which each element of l1 is set to the lowest abstract value of Valuer being Empty
lattice/taint/taintLattice.go:164
↓ 1 callersMethodLeastUpperBound
LeastUpperBound returns the lub of two lattices
lattice/lattice.go:14
↓ 1 callersMethodLess
Less computes whether l1 is less than l2. Throws an error if l2 is not of type taint.Lattice.
lattice/taint/taintLattice.go:174
↓ 1 callersMethodLessEqual
LessEqual returns tlv <= lv. Returns an error (ErrOnlyTaintValueAcc) if lv is not a taint.Value.
lattice/taint/taintLattice.go:455
↓ 1 callersFunctionNewErrInFlow
NewErrInFlow returns a error of type ErrInFlow.
lattice/taint/flowFunc.go:90
↓ 1 callersMethodNewExitValue
NewExitValue updated the exitValue of v with a least upper bound with ev.
worklist/valueContext.go:333
↓ 1 callersFunctionNewLattice
NewLattice returns a new lattice with length len.
lattice/taint/taintLattice.go:26
↓ 1 callersFunctionNewLatticePointer
(len int, m map[ssa.Value]pointer.Pointer)
lattice/taint/taintLatticePointer.go:26
↓ 1 callersFunctionNewList
NewList creates a new linked list with s as first element.
tests/exampleCode/simpleLinkedList0.go:28
↓ 1 callersFunctionNewList
NewList creates a new linked list with s as first element.
tests/exampleCode/simpleLinkedListOnlyTaint.go:23
↓ 1 callersFunctionNewTransition
NewTransition returns a Transition. context is the valuecontext of the "start" node. callSite is the ssa.Function which "goes" to the other context. t
worklist/transition.go:32
↓ 1 callersFunctionNewWlList
NewWlList returns a new worklist
worklist/wlMap.go:27
↓ 1 callersMethodPos
()
lattice/taint/ssaValMock.go:31
↓ 1 callersFunctionRead
Read the file with the sources and sinks
lattice/taint/parser.go:43
↓ 1 callersMethodSetIN
SetIN sets the in value for a new value context. params are the parameters of the functions and only those will be added to the entry lattice. l is th
worklist/valueContext.go:236
↓ 1 callersMethodSetPtrs
(m map[ssa.Value]pointer.Pointer)
lattice/taint/taintLatticePointer.go:142
↓ 1 callersMethodTopElement
TopElement returns the top element of a lattice value
lattice/lattice.go:60
↓ 1 callersFunctiona
(t *T)
tests/exampleCode/structTestV3RefSimple.go:15
↓ 1 callersFunctionadd
(x string, ch chan string)
tests/exampleCode/multipleChan.go:32
↓ 1 callersMethodadd
(err *taint.ErrLeak)
worklist/wlHelper.go:22
↓ 1 callersFunctionaddQueries
addQueries addbuild queries for all functions of the packages
worklist/wlinit.go:131
↓ 1 callersMethodaddToContext
(vc *ValueContext)
worklist/valueContext.go:135
↓ 1 callersFunctioncheckChange
checkChange checks whether the input lattice of n is equal to the output lattice of n returns true if the context has changed, false if it has not cha
worklist/contextCallSite.go:114
↓ 1 callersFunctioncheckReturn
checkReturn returns true if c's node is a *ssa.Return statement.
worklist/wlHelper.go:459
↓ 1 callersFunctioncopyPtrs
helper function
lattice/taint/taintLatticePointer.go:203
↓ 1 callersFunctionf
(ch_1 chan string)
tests/exampleCode/chanPaper3.go:12
↓ 1 callersFunctionf
(ch chan string)
tests/exampleCode/chanPaper1.go:13
↓ 1 callersFunctionf
(c chan string)
tests/exampleCode/exampleThesis.go:12
↓ 1 callersFunctionf
(ch chan string)
tests/exampleCode/chanClosureNestedChangeValue.go:9
↓ 1 callersFunctionf
(ch_1 chan *string)
tests/exampleCode/pointerChan.go:13
↓ 1 callersFunctionf
(ch chan string)
tests/exampleCode/chanPaper2.go:14
↓ 1 callersFunctionf
(ch chan string)
tests/exampleCode/chanClosureChangeValueBeforeClosure.go:9
↓ 1 callersFunctionf
(ch_1 chan string)
tests/exampleCode/chanPaper0.go:12
↓ 1 callersFunctionf
(ch chan string)
tests/exampleCode/chanClosureChangeValue.go:9
↓ 1 callersFunctionfindChannels
fincChannels finds for all channels the corresponding call instructions
ssabuilder/build.go:53
↓ 1 callersMethodfindInContext
(callee *ssa.Function, lin lattice.Latticer)
worklist/valueContext.go:136
↓ 1 callersFunctionfunF
(a []byte, c bool)
tests/exampleCode/newValueContext.go:24
↓ 1 callersFunctiong
(s string)
tests/exampleCode/exampleThesis.go:20
↓ 1 callersFunctiong
(ch chan string)
tests/exampleCode/multipleChan.go:24
↓ 1 callersFunctiongetContext
(n *ContextCallSite, s ssa.Instruction)
worklist/wlHelper.go:374
↓ 1 callersFunctiongetContextChannel
(n *ContextCallSite, s ssa.Instruction)
worklist/wlHelper.go:405
↓ 1 callersFunctiongetIdomsBlocks
getIdomsBlocks returns a slice of basic blocks which idoms(dominates) b. The parameter b should be the first idom of the block the caller is intereste
worklist/wlHelper.go:212
↓ 1 callersFunctiongetSuccessors
getSuccessors returns the directly successors of i. When i is not the last instruction of a basic block b only the next instruction of b is returned.
worklist/wlHelper.go:316
↓ 1 callersFunctiongetTransToX
for all edges <X', c> -> X return c in a slice
worklist/wlHelper.go:235
↓ 1 callersFunctionhandleChange
handleChange adds the successors of n's node to the worklist.
worklist/contextCallSite.go:123
↓ 1 callersFunctionhandleReturn
handleReturn updates the exit lattice of the contextes and adds the contexts to the worklist which has a transfer to the node.
worklist/wlHelper.go:466
↓ 1 callersFunctionhandleSinkDetection
(c ssa.CallCommon, l lattice.Latticer, ptr bool)
lattice/taint/flowFunc.go:309
↓ 1 callersFunctioninitContextVC
An analysis state for the main function will be created. The context gets a value context for the main function. The entry and exit value is a empty l
worklist/wlinit.go:95
↓ 1 callersFunctionisEntryNode
Returns true if the node is the entry node of the function
worklist/wlHelper.go:202
↓ 1 callersFunctionisSink
(c ssa.CallCommon)
lattice/taint/flow_helper.go:147
↓ 1 callersFunctionisSource
(c ssa.CallCommon)
lattice/taint/flow_helper.go:130
↓ 1 callersFunctionmatchParams
matchParams match the params of the caller to the values used from the callee A function (callee) has a field Params which offers the params. matchPar
worklist/wlHelper.go:341
↓ 1 callersFunctionmatchRetStatements
Match statement tries to match the return values of the calle to the returned values of the caller
worklist/wlHelper.go:266
↓ 1 callersFunctionnewChannel
()
tests/exampleCode/multipleChan.go:36
↓ 1 callersFunctionnewErrInFlows
()
worklist/wlHelper.go:18
↓ 1 callersFunctionnewValueContext
newValueContext initialize a new value context
worklist/valueContext.go:214
↓ 1 callersFunctionpredeccessors
Returns a slice with the predeccessors of instruction n
worklist/wlHelper.go:47
↓ 1 callersFunctionptrUnOp
(e *ssa.UnOp, l lattice.Pter, ptr *pointer.Result)
lattice/taint/flow_helper.go:86
↓ 1 callersMethodremoveFirstCCS
RemoveFirstCCS removes the first ContextCallSite from the list
worklist/wlMap.go:56
↓ 1 callersFunctionreturnLUPTaint
returnLUPTaint is similar to returnLUP. In contrast to returnLUP, returnLUPTaint can handle error messages. An information flow is packed into the Err
lattice/taint/flowFunc.go:39
↓ 1 callersFunctionsecret
()
tests/exampleCode/chanPaper.go:25
↓ 1 callersFunctionsetLogger
Logging
worklist/worklist.go:49
↓ 1 callersMethodsetNext
(n *llNode)
tests/exampleCode/simpleLinkedList0.go:66
↓ 1 callersMethodsetNext
(n *llNode)
tests/exampleCode/simpleLinkedListOnlyTaint.go:61
↓ 1 callersMethodsetNext
(n *llNode)
tests/exampleCode/h/linkedList.go:51
↓ 1 callersFunctionsetPtrMap
setPtrMap sets once the map for all functions which are available for the analysis
worklist/wlinit.go:158
↓ 1 callersFunctionsetupPTA
setupPTA creates the config type for a pointer analysis.
worklist/wlinit.go:121
← previousnext →101–200 of 454, ranked by callers