From a513e2767e846cb2ccbdc486633a104d9d08360c Mon Sep 17 00:00:00 2001 From: Massimo Prencipe Date: Sat, 10 Apr 2021 15:01:57 +0300 Subject: [PATCH] Fix: Create output directory recursively instead of silently failing to produce output (#413) * Fix: Create output directory recursively instead of silently failing to write output. Fixes issue #395. * Update changelog, contributors --- CHANGELOG.md | 1 + CONTRIBUTORS.md | 1 + pkg/output/stdout.go | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 063d7c7..ef8b8cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ user to change filters, manage recursion queue, save snapshot of matches to a file etc. - Changed - Fix a badchar in progress output + - Fixed output writing so it doesn't silently fail if it needs to create directories recursively - v1.2.1 - Changed diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 2bdd441..641db38 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -22,6 +22,7 @@ * [jvesiluoma](https://github.com/jvesiluoma) * [Kiblyn11](https://github.com/Kiblyn11) * [lc](https://github.com/lc) +* [mprencipe](https://github.com/mprencipe) * [nnwakelam](https://twitter.com/nnwakelam) * [noraj](https://pwn.by/noraj) * [oh6hay](https://github.com/oh6hay) diff --git a/pkg/output/stdout.go b/pkg/output/stdout.go index b68cedd..1b72092 100644 --- a/pkg/output/stdout.go +++ b/pkg/output/stdout.go @@ -328,7 +328,7 @@ func (s *Stdoutput) writeResultToFile(resp ffuf.Response) string { var fileContent, fileName, filePath string // Create directory if needed if s.config.OutputDirectory != "" { - err := os.Mkdir(s.config.OutputDirectory, 0750) + err := os.MkdirAll(s.config.OutputDirectory, 0750) if err != nil { if !os.IsExist(err) { s.Error(err.Error())