scan-build now fixes permissions of report files and directories, which may
be created as "temporary files" that are not world readable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49904 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/scan-build b/utils/scan-build
index 441f63f..ff44fee 100755
--- a/utils/scan-build
+++ b/utils/scan-build
@@ -156,6 +156,10 @@
$AlreadyScanned{$digest} = 1;
+ # At this point the report file is not word readable. Make it happen.
+ `chmod 644 $Dir/$FName`;
+
+ # Scan the report file for tags.
open(IN, "$Dir/$FName") or die "$Prog: Cannot open '$Dir/$FName'\n";
my $BugDesc = "";
@@ -208,8 +212,10 @@
sub Postprocess {
my $Dir = shift;
+ my $BaseDir = shift;
die "No directory specified." if (!defined($Dir));
+ die "No base directory specified." if (!defined($BaseDir));
if (! -d $Dir) {
return;
@@ -363,6 +369,10 @@
close(OUT);
CopyJS($Dir);
+
+ # Make sure $Dir and $BaseDir is world readable/executable.
+ `chmod 755 $Dir`;
+ `chmod 755 $BaseDir`;
}
##----------------------------------------------------------------------------##
@@ -516,6 +526,7 @@
}
}
+my $BaseDir = $HtmlDir;
$HtmlDir = GetHTMLRunDir($HtmlDir);
# Set the appropriate environment variables.
@@ -539,7 +550,7 @@
# Postprocess the HTML directory.
-Postprocess($HtmlDir);
+Postprocess($HtmlDir, $BaseDir);
if ($ViewResults and -r "$HtmlDir/index.html") {
# Only works on Mac OS X (for now).