From 02140614318efa6183411120198d337fb1a03520 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Mon, 27 Nov 2023 11:53:26 -0300 Subject: [PATCH] lmdb/badger: prevent crashing when we get a filter like {"#e":[]} --- badger/query.go | 4 ++++ lmdb/query.go | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/badger/query.go b/badger/query.go index b5da92d..b54fdf9 100644 --- a/badger/query.go +++ b/badger/query.go @@ -260,6 +260,10 @@ func prepareQueries(filter nostr.Filter) ( for _, values := range filter.Tags { size += len(values) } + if size == 0 { + return nil, nil, 0, 0, 0, fmt.Errorf("empty tag filters") + } + queries = make([]query, size) extraFilter = &nostr.Filter{Kinds: filter.Kinds} diff --git a/lmdb/query.go b/lmdb/query.go index 8e052c2..091b0af 100644 --- a/lmdb/query.go +++ b/lmdb/query.go @@ -256,6 +256,10 @@ func (b *LMDBBackend) prepareQueries(filter nostr.Filter) ( for _, values := range filter.Tags { size += len(values) } + if size == 0 { + return nil, nil, 0, 0, fmt.Errorf("empty tag filters") + } + queries = make([]query, size) extraFilter = &nostr.Filter{Kinds: filter.Kinds}