Mercurial > hg > truffle
comparison src/share/vm/utilities/vmError.cpp @ 8026:8bf62bd86a4e
8007791: More Restricted hs_err file permission
Summary: Enforce more restricted hs_file permission
Reviewed-by: acorn, dcubed, dsamersoff
author | zgu |
---|---|
date | Fri, 08 Feb 2013 14:49:01 -0500 |
parents | 9deda4d8e126 |
children | 5ee2b330eacd |
comparison
equal
deleted
inserted
replaced
8024:7194f764221c | 8026:8bf62bd86a4e |
---|---|
915 | 915 |
916 if (ErrorFile != NULL) { | 916 if (ErrorFile != NULL) { |
917 bool copy_ok = | 917 bool copy_ok = |
918 Arguments::copy_expand_pid(ErrorFile, strlen(ErrorFile), buffer, sizeof(buffer)); | 918 Arguments::copy_expand_pid(ErrorFile, strlen(ErrorFile), buffer, sizeof(buffer)); |
919 if (copy_ok) { | 919 if (copy_ok) { |
920 fd = open(buffer, O_RDWR | O_CREAT | O_TRUNC, 0666); | 920 fd = open(buffer, O_RDWR | O_CREAT | O_TRUNC, 0600); |
921 } | 921 } |
922 } | 922 } |
923 | 923 |
924 if (fd == -1) { | 924 if (fd == -1) { |
925 const char *cwd = os::get_current_directory(buffer, sizeof(buffer)); | 925 const char *cwd = os::get_current_directory(buffer, sizeof(buffer)); |
926 size_t len = strlen(cwd); | 926 size_t len = strlen(cwd); |
927 // either user didn't specify, or the user's location failed, | 927 // either user didn't specify, or the user's location failed, |
928 // so use the default name in the current directory | 928 // so use the default name in the current directory |
929 jio_snprintf(&buffer[len], sizeof(buffer)-len, "%shs_err_pid%u.log", | 929 jio_snprintf(&buffer[len], sizeof(buffer)-len, "%shs_err_pid%u.log", |
930 os::file_separator(), os::current_process_id()); | 930 os::file_separator(), os::current_process_id()); |
931 fd = open(buffer, O_RDWR | O_CREAT | O_TRUNC, 0666); | 931 fd = open(buffer, O_RDWR | O_CREAT | O_TRUNC, 0600); |
932 } | 932 } |
933 | 933 |
934 if (fd == -1) { | 934 if (fd == -1) { |
935 const char * tmpdir = os::get_temp_directory(); | 935 const char * tmpdir = os::get_temp_directory(); |
936 // try temp directory if it exists. | 936 // try temp directory if it exists. |
937 if (tmpdir != NULL && tmpdir[0] != '\0') { | 937 if (tmpdir != NULL && tmpdir[0] != '\0') { |
938 jio_snprintf(buffer, sizeof(buffer), "%s%shs_err_pid%u.log", | 938 jio_snprintf(buffer, sizeof(buffer), "%s%shs_err_pid%u.log", |
939 tmpdir, os::file_separator(), os::current_process_id()); | 939 tmpdir, os::file_separator(), os::current_process_id()); |
940 fd = open(buffer, O_RDWR | O_CREAT | O_TRUNC, 0666); | 940 fd = open(buffer, O_RDWR | O_CREAT | O_TRUNC, 0600); |
941 } | 941 } |
942 } | 942 } |
943 | 943 |
944 if (fd != -1) { | 944 if (fd != -1) { |
945 out.print_raw("# An error report file with more information is saved as:\n# "); | 945 out.print_raw("# An error report file with more information is saved as:\n# "); |