Skip to content
This repository was archived by the owner on Jul 6, 2024. It is now read-only.
This repository was archived by the owner on Jul 6, 2024. It is now read-only.

Key names aren't binary safe when using { or } #27

@stopforumspam

Description

@stopforumspam

Using a { or } in a key name causes the internal json parser to segfault

A member with a binary encoded member that has a } in it, one that is then followed by another member with a } in it, will generate invalid JSON (in the loop for i in s.chars() ) that is then parsed, causing the panic as the min and/or max scores cannot be parsed.

Adding a small console log shows the string positions being miscalculated, eg

processing i = A�','min_score':37227008,'max_score':37227263},{'member':'us}....

attached is an RDB dump that will segfault on load

try
iadd.set }}}} }{ 10 20
iadd.set }}}} }{{} 15 35

savedb
and then load

https://github.com/danitseitlin/redis-interval-sets/files/8101646/dump.zip

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions