damus

nostr ios client
git clone git://jb55.com/damus
Log | Files | Refs | README | LICENSE

commit fae061cec0e17c5604d1e97cf3acb44f39cc5eba
parent 4570ba797c3c0a90de404ece109af5b27fd099f1
Author: Daniel D’Aquino <daniel@daquino.me>
Date:   Mon, 11 Aug 2025 16:35:26 -0700

Fix MAX_PREFIX parameter on bolt11 parsing logic

Closes: https://github.com/damus-io/damus/issues/3187
Changelog-None
Signed-off-by: Daniel D’Aquino <daniel@daquino.me>

Diffstat:
Mnostrdb/src/bolt11/bech32.c | 3++-
Mnostrdb/src/content_parser.c | 2+-
2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/nostrdb/src/bolt11/bech32.c b/nostrdb/src/bolt11/bech32.c @@ -162,7 +162,8 @@ bech32_encoding bech32_decode(char* hrp, uint8_t *data, size_t *data_len, const if (len > max_input_len) { return BECH32_ENCODING_NONE; } - return bech32_decode_len(hrp, data, data_len, input, len, 8); + static const int MAX_PREFIX = 9; // 8 bytes for the text, 1 byte for the null terminator + return bech32_decode_len(hrp, data, data_len, input, len, MAX_PREFIX); } int bech32_convert_bits(uint8_t* out, size_t* outlen, int outbits, const uint8_t* in, size_t inlen, int inbits, int pad) { diff --git a/nostrdb/src/content_parser.c b/nostrdb/src/content_parser.c @@ -113,7 +113,7 @@ static int push_bech32_mention(struct ndb_content_parser *p, struct ndb_str_bloc uint16_t *u8_size; enum nostr_bech32_type type; size_t u5_out_len, u8_out_len; - static const int MAX_PREFIX = 9; + static const int MAX_PREFIX = 9; // 8 bytes for the text, 1 byte for the null terminator char prefix[9] = {0}; start = p->buffer.p;