Skip to content

Commit b66fb5c

Browse files
author
Lenny Halseth
committed
Updated code quality from feedback.
1 parent 24b9288 commit b66fb5c

File tree

2 files changed

+15
-23
lines changed

2 files changed

+15
-23
lines changed

codepulse/src/main/scala/com/secdec/codepulse/tracer/ProjectUploadData.scala

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -71,14 +71,7 @@ object ProjectUploadData {
7171

7272
def checkForClassesInNestedArchive(file: File): Boolean = {
7373
ZipEntryChecker.findFirstEntry(file) { (filename, entry, contents) =>
74-
if (!entry.isDirectory) {
75-
FilenameUtils.getExtension(entry.getName) match {
76-
case "class" => true
77-
case _ => false
78-
}
79-
} else {
80-
false
81-
}
74+
!entry.isDirectory && FilenameUtils.getExtension(entry.getName) == "class"
8275
}
8376
}
8477

codepulse/src/main/scala/com/secdec/codepulse/util/ZipEntryChecker.scala

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -87,30 +87,29 @@ trait ZipEntryChecker {
8787
}
8888
}
8989

90-
def findFirstEntry(file: File, recursive: Boolean = true)(callback: (String, ZipEntry, InputStream) => Boolean): Boolean = {
90+
def findFirstEntry(file: File, recursive: Boolean = true)(predicate: (String, ZipEntry, InputStream) => Boolean): Boolean = {
9191
val stream = new BufferedInputStream(new FileInputStream(file))
9292

93-
try {
94-
findFirstEntry(file.getName, stream, recursive)(callback)
95-
} finally {
96-
stream.close
97-
}
93+
try findFirstEntry(file.getName, stream, recursive)(predicate) finally stream.close
9894
}
9995

100-
def findFirstEntry(filename: String, stream: InputStream, recursive: Boolean)(callback: (String, ZipEntry, InputStream) => Boolean): Boolean = {
96+
def findFirstEntry(filename: String, stream: InputStream, recursive: Boolean)(predicate: (String, ZipEntry, InputStream) => Boolean): Boolean = {
10197
val zipStream = new ZipInputStream(stream)
10298

10399
try {
104100
val entryStream = Stream.continually(Try { zipStream.getNextEntry })
105101
.map(_.toOption.flatMap { Option(_) })
106-
.takeWhile(_.isDefined)
107-
.flatten
108-
.filterNot(ZipCleaner.shouldFilter)
109-
110-
entryStream.exists(entry =>
111-
callback(filename, entry, zipStream)
112-
||(recursive && isZip(entry.getName) && findFirstEntry(s"$filename/${entry.getName}", new CloseShieldInputStream(zipStream), true)(callback))
113-
)
102+
.takeWhile(_.isDefined)
103+
.flatten
104+
.filterNot(ZipCleaner.shouldFilter)
105+
106+
entryStream.exists { entry =>
107+
lazy val recurse = recursive &&
108+
isZip(entry.getName) &&
109+
findFirstEntry(s"$filename/${entry.getName}", new CloseShieldInputStream(zipStream), true)(predicate)
110+
111+
predicate(filename, entry, zipStream) || recurse
112+
}
114113
} finally {
115114
zipStream.close
116115
}

0 commit comments

Comments
 (0)