7200500: Launcher better input validation
Reviewed-by: darcy, jjh, mschoene
diff --git a/jdk/src/share/bin/parse_manifest.c b/jdk/src/share/bin/parse_manifest.c
index eb847bf..3fa759d 100644
--- a/jdk/src/share/bin/parse_manifest.c
+++ b/jdk/src/share/bin/parse_manifest.c
@@ -490,9 +490,9 @@
#ifdef O_BINARY
| O_BINARY /* use binary mode on windows */
#endif
- )) == -1)
+ )) == -1) {
return (-1);
-
+ }
info->manifest_version = NULL;
info->main_class = NULL;
info->jre_version = NULL;
@@ -539,12 +539,14 @@
zentry entry;
void *data = NULL;
- fd = open(jarfile, O_RDONLY
+ if ((fd = open(jarfile, O_RDONLY
#ifdef O_BINARY
| O_BINARY /* use binary mode on windows */
#endif
- );
- if (fd != -1 && find_file(fd, &entry, filename) == 0) {
+ )) == -1) {
+ return NULL;
+ }
+ if (find_file(fd, &entry, filename) == 0) {
data = inflate_file(fd, &entry, size);
}
close(fd);
@@ -586,8 +588,9 @@
#ifdef O_BINARY
| O_BINARY /* use binary mode on windows */
#endif
- )) == -1)
+ )) == -1) {
return (-1);
+ }
if (rc = find_file(fd, &entry, manifest_name) != 0) {
close(fd);