From 613f2027c7a84145091066da40b5c0105512dee1 Mon Sep 17 00:00:00 2001 From: sinkuu Date: Sat, 28 Jun 2014 17:10:23 +0900 Subject: [PATCH] Fix crash with empty file --- analysis/run.d | 1 + ctags.d | 1 + main.d | 1 + 3 files changed, 3 insertions(+) diff --git a/analysis/run.d b/analysis/run.d index bb9e27f..6d4c11a 100644 --- a/analysis/run.d +++ b/analysis/run.d @@ -62,6 +62,7 @@ void analyze(File output, string[] fileNames, AnalyzerCheck analyzers, bool stat foreach (fileName; fileNames) { File f = File(fileName); + if (f.size == 0) continue; auto code = uninitializedArray!(ubyte[])(to!size_t(f.size)); f.rawRead(code); diff --git a/ctags.d b/ctags.d index 41bbebf..dafcb48 100644 --- a/ctags.d +++ b/ctags.d @@ -24,6 +24,7 @@ void printCtags(File output, string[] fileNames) foreach (fileName; fileNames) { File f = File(fileName); + if (f.size == 0) continue; auto bytes = uninitializedArray!(ubyte[])(to!size_t(f.size)); f.rawRead(bytes); auto tokens = getTokensForParser(bytes, config, &cache); diff --git a/main.d b/main.d index 8c94bb8..a0ac1be 100644 --- a/main.d +++ b/main.d @@ -255,6 +255,7 @@ ubyte[] readFile(string fileName) return []; } File f = File(fileName); + if (f.size == 0) return []; ubyte[] sourceCode = uninitializedArray!(ubyte[])(to!size_t(f.size)); f.rawRead(sourceCode); return sourceCode;