@@ -104,14 +104,27 @@ export:
104104 commit_id=$2
105105 branch=$3
106106 vulnerability_id=$4
107+ source_path=$5
108+
109+ [ -d $vulnerability_id/$commit_id ] || mkdir -p $vulnerability_id/$commit_id
110+ if [ -f $source_path/changed-source-code.tar.gz ]
111+ then
112+ timestamp=`cat $vulnerability_id/$commit_id/timestamp`
113+ echo "{" > $vulnerability_id/$commit_id/metadata.json
114+ echo " \"repository\" : \"$repo_url\"," >> $vulnerability_id/$commit_id/metadata.json
115+ echo " \"branch\" : \"$branch\"," >> $vulnerability_id/$commit_id/metadata.json
116+ echo " \"timestamp\" : \"$timestamp\"," >> $vulnerability_id/$commit_id/metadata.json
117+ echo " \"commit_id\" : \"$commit_id\"" >> $vulnerability_id/$commit_id/metadata.json
118+ echo "}" >> $vulnerability_id/$commit_id/metadata.json
119+ rm $vulnerability_id/$commit_id/timestamp
120+ return
121+ fi
107122
108123 clone_once $repo_url
109124 repo_dir=$(folder_for_repo $repo_url)
110125
111126 timestamp=$(git -C $repo_dir show --no-patch --no-notes --pretty='%at' $commit_id)
112127
113- [ -d $vulnerability_id/$commit_id ] || mkdir -p $vulnerability_id/$commit_id
114-
115128 echo "{" > $vulnerability_id/$commit_id/metadata.json
116129 echo " \"repository\" : \"$repo_url\"," >> $vulnerability_id/$commit_id/metadata.json
117130 echo " \"branch\" : \"$branch\"," >> $vulnerability_id/$commit_id/metadata.json
@@ -149,21 +162,26 @@ export:
149162 # -----------------------------------------------
150163 # Analyzing vulnerability {{ .VulnerabilityID}}
151164 # -----------------------------------------------
165+ {{ if .VulnerabilityID }}
152166 [ -d ./{{ .VulnerabilityID }} ] || mkdir ./{{ .VulnerabilityID }}
167+ {{ $source_path := .Metadata.LocalPath }}
168+ [ -f {{ $source_path }}/changed-source-code.tar.gz ] && tar -xf {{ $source_path }}/changed-source-code.tar.gz -C ./{{ .VulnerabilityID }}
169+
153170 cat << EOM > ./{{ .VulnerabilityID }}/metadata.json
154171 {{ .ToJSON }}
155172 EOM
156173 {{ if .Fixes}}{{ $description := or ((index .Notes 0).Text) "" }}
157174 #make_vuln_metadata {{ .VulnerabilityID }} '{{ JoinNotes . }}' {{ LinksAsCSV . }}
158175 {{ $vuln := .VulnerabilityID}}{{ $repo := (index (index .Fixes 0).Commits 0).RepositoryURL }}
159- {{ range $f := .Fixes }}{{ range .Commits }}checkout_commit {{$repo}} {{.ID}} {{$f.ID}} {{ $vuln }}
176+ {{ range $f := .Fixes }}{{ range .Commits }}checkout_commit {{$repo}} {{.ID}} {{$f.ID}} {{ $vuln }} {{ $source_path }}
160177 {{end}}{{end}}
161- $ANALYZER_CMD -d ./{{ .VulnerabilityID }}
162178 {{else}}
163179 # This vulnerability has no fix-commits
164180 {{end}}
181+ {{end}}
165182
166183 post : |-
184+ $ANALYZER_CMD -d .
167185 # ------------------------------------------------
168186 # This script was generated with KayBee
169187 # ------------------------------------------------
0 commit comments