7200500: Launcher better input validation
Reviewed-by: darcy, jjh, mschoene
This commit is contained in:
parent
f9122bd3fd
commit
2414c54cc1
@ -568,9 +568,9 @@ JLI_ParseManifest(char *jarfile, manifest_info *info)
|
|||||||
#ifdef O_BINARY
|
#ifdef O_BINARY
|
||||||
| O_BINARY /* use binary mode on windows */
|
| O_BINARY /* use binary mode on windows */
|
||||||
#endif
|
#endif
|
||||||
)) == -1)
|
)) == -1) {
|
||||||
return (-1);
|
return (-1);
|
||||||
|
}
|
||||||
info->manifest_version = NULL;
|
info->manifest_version = NULL;
|
||||||
info->main_class = NULL;
|
info->main_class = NULL;
|
||||||
info->jre_version = NULL;
|
info->jre_version = NULL;
|
||||||
@ -617,12 +617,14 @@ JLI_JarUnpackFile(const char *jarfile, const char *filename, int *size) {
|
|||||||
zentry entry;
|
zentry entry;
|
||||||
void *data = NULL;
|
void *data = NULL;
|
||||||
|
|
||||||
fd = open(jarfile, O_RDONLY
|
if ((fd = open(jarfile, O_RDONLY
|
||||||
#ifdef O_BINARY
|
#ifdef O_BINARY
|
||||||
| O_BINARY /* use binary mode on windows */
|
| O_BINARY /* use binary mode on windows */
|
||||||
#endif
|
#endif
|
||||||
);
|
)) == -1) {
|
||||||
if (fd != -1 && find_file(fd, &entry, filename) == 0) {
|
return NULL;
|
||||||
|
}
|
||||||
|
if (find_file(fd, &entry, filename) == 0) {
|
||||||
data = inflate_file(fd, &entry, size);
|
data = inflate_file(fd, &entry, size);
|
||||||
}
|
}
|
||||||
close(fd);
|
close(fd);
|
||||||
@ -664,8 +666,9 @@ JLI_ManifestIterate(const char *jarfile, attribute_closure ac, void *user_data)
|
|||||||
#ifdef O_BINARY
|
#ifdef O_BINARY
|
||||||
| O_BINARY /* use binary mode on windows */
|
| O_BINARY /* use binary mode on windows */
|
||||||
#endif
|
#endif
|
||||||
)) == -1)
|
)) == -1) {
|
||||||
return (-1);
|
return (-1);
|
||||||
|
}
|
||||||
|
|
||||||
if (rc = find_file(fd, &entry, manifest_name) != 0) {
|
if (rc = find_file(fd, &entry, manifest_name) != 0) {
|
||||||
close(fd);
|
close(fd);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user