From a74d345ac2784843c89b096efc09955f5acda5ac Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 16 Oct 2022 15:18:11 +0200 Subject: [PATCH] Make doubly sure special characters are removed from the notes. --- app/Support/Export/ExportDataGenerator.php | 5 ++++- app/Support/Request/ConvertsDataTypes.php | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/Support/Export/ExportDataGenerator.php b/app/Support/Export/ExportDataGenerator.php index 683572f018..84ed59c54a 100644 --- a/app/Support/Export/ExportDataGenerator.php +++ b/app/Support/Export/ExportDataGenerator.php @@ -50,6 +50,7 @@ use FireflyIII\Repositories\Recurring\RecurringRepositoryInterface; use FireflyIII\Repositories\Rule\RuleRepositoryInterface; use FireflyIII\Repositories\Tag\TagRepositoryInterface; use FireflyIII\Repositories\TransactionGroup\TransactionGroupRepositoryInterface; +use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\User; use Illuminate\Support\Collection; use League\Csv\CannotInsertRecord; @@ -61,6 +62,8 @@ use League\Csv\Writer; */ class ExportDataGenerator { + use ConvertsDataTypes; + private const ADD_RECORD_ERR = 'Could not add record to set: %s'; private const EXPORT_ERR = 'Could not export to string: %s'; private Collection $accounts; @@ -698,7 +701,7 @@ class ExportDataGenerator $journal['budget_name'], $journal['bill_name'], $this->mergeTags($journal['tags']), - $journal['notes'], + $this->clearString($journal['notes'], true), // export also the optional fields (ALL) diff --git a/app/Support/Request/ConvertsDataTypes.php b/app/Support/Request/ConvertsDataTypes.php index d01a141854..b4e3cf2fce 100644 --- a/app/Support/Request/ConvertsDataTypes.php +++ b/app/Support/Request/ConvertsDataTypes.php @@ -68,6 +68,9 @@ trait ConvertsDataTypes return null; } $search = [ + "\0", // NUL + "\f", // form feed + "\v", // vertical tab "\u{0001}", // start of heading "\u{0002}", // start of text "\u{0003}", // end of text