Hanno Böck commited on 2019-12-08 18:29:27
Zeige 1 geänderte Dateien mit 12 Einfügungen und 24 Löschungen.
... | ... |
@@ -34,14 +34,9 @@ from xml.sax.saxutils import escape |
34 | 34 |
|
35 | 35 |
|
36 | 36 |
def versioncompare(safe_version, find_version): |
37 |
- if safe_version == [""]: |
|
38 |
- return True |
|
39 |
- for i in range(min(len(find_version), len(safe_version))): |
|
40 |
- if int(find_version[i]) < int(safe_version[i]): |
|
41 |
- return True |
|
42 |
- if int(find_version[i]) > int(safe_version[i]): |
|
43 |
- return False |
|
44 |
- return len(find_version) < len(safe_version) |
|
37 |
+ safe_version_tup = [int(x) for x in safe_version.split(".")] |
|
38 |
+ find_version_tup = [int(x) for x in find_version.split(".")] |
|
39 |
+ return find_version_tup < safe_version_tup |
|
45 | 40 |
|
46 | 41 |
|
47 | 42 |
def vulnprint(appname, version, safeversion, vuln, vfilename, subdir, |
... | ... |
@@ -168,26 +163,19 @@ for fdir in opts.dirs: |
168 | 163 |
+ int(item['add_minor'])) |
169 | 164 |
findversion = '.'.join(findversion) |
170 | 165 |
|
171 |
- if not (versioncompare(item['safe'].split('.'), |
|
172 |
- findversion.split('.'))) or \ |
|
173 |
- item['old_safe'].count(findversion) > 0: |
|
166 |
+ if (not versioncompare(item['safe'], findversion) |
|
167 |
+ or findversion in item['old_safe']): |
|
174 | 168 |
if opts.all: |
175 |
- vulnprint(item['name'], findversion, |
|
176 |
- "ok", "", mfile, item['subdir'], |
|
177 |
- opts.xml) |
|
178 |
- else: |
|
179 |
- safev = "9999" |
|
169 |
+ vulnprint(item['name'], findversion, "ok", "", |
|
170 |
+ mfile, item['subdir'], opts.xml) |
|
171 |
+ continue |
|
172 |
+ |
|
173 |
+ safev = item['safe'] |
|
180 | 174 |
for ver in item['old_safe']: |
181 |
- if(versioncompare(ver.split('.'), |
|
182 |
- findversion.split('.')) |
|
183 |
- and not versioncompare(ver.split('.'), |
|
184 |
- safev.split('.'))): |
|
175 |
+ if versioncompare(ver, findversion): |
|
185 | 176 |
safev = ver |
186 |
- if safev == "9999": |
|
187 |
- safev = item['safe'] |
|
188 | 177 |
|
189 |
- vulnprint(item['name'], findversion, |
|
190 |
- safev, item['vuln'], |
|
178 |
+ vulnprint(item['name'], findversion, safev, item['vuln'], |
|
191 | 179 |
mfile, item['subdir'], opts.xml) |
192 | 180 |
|
193 | 181 |
if opts.xml: |
194 | 182 |