From b699c46046fc8b894cc774e71728b1639e5e2002 Mon Sep 17 00:00:00 2001
From: Aliaksandr Valialkin <valyala@gmail.com>
Date: Tue, 31 Mar 2020 16:18:02 +0300
Subject: [PATCH] lib/storage: handle errors returned from `TagFilters.Add`
 when cloning TagFilters with negative filter

---
 lib/storage/tag_filters.go | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/lib/storage/tag_filters.go b/lib/storage/tag_filters.go
index d86eb77389..8877359c8a 100644
--- a/lib/storage/tag_filters.go
+++ b/lib/storage/tag_filters.go
@@ -88,9 +88,13 @@ func (tfs *TagFilters) cloneWithNegativeFilter(tfNegative *tagFilter) *TagFilter
 	for i := range tfs.tfs {
 		tf := &tfs.tfs[i]
 		if tf == tfNegative {
-			tfsNew.Add(tf.key, []byte(".+"), true, true)
+			if err := tfsNew.Add(tf.key, []byte(".+"), true, true); err != nil {
+				logger.Panicf("BUG: unexpected error when creating a tag filter key=~'.+': %s", err)
+			}
 		} else {
-			tfsNew.Add(tf.key, tf.value, tf.isNegative, tf.isRegexp)
+			if err := tfsNew.Add(tf.key, tf.value, tf.isNegative, tf.isRegexp); err != nil {
+				logger.Panicf("BUG: unexpected error when cloning a tag filter %s: %s", tf, err)
+			}
 		}
 	}
 	return tfsNew