In [35]:
#import fileinput
import sys
import csv
import gzip
dir = "07-05-2014/"
csv.field_size_limit(sys.maxsize)
in_csvfile = gzip.open(dir+"buggy_traces.csv.gz", "r")
out_csvfile = gzip.open(dir+"processed_buggy_traces.csv.gz", "wa")
reader = csv.reader(in_csvfile, delimiter = '\t')
writer = csv.writer(out_csvfile, delimiter = '\t')
count = 0
words = lambda s: reduce(lambda r,x: min(len(x),1)+r, s.split(" "), 0)
vulns = dict()
for line in reader:
if "addr=DPtr" in line[1] or "eip=DPtr" in line[1]:
vulns[line[0]] = 1
#print vulns.keys(), len(vulns)
in_csvfile.seek(0)
for line in reader:
if words(line[1]) > 30 and line[0] in vulns:
print line[0]
count = count + 1
print count