diff --git a/src/libknot/packet/rrset-wire.c b/src/libknot/packet/rrset-wire.c index 56e0cae2b4decddef9eb569e74fc8ec3a0792955..2b02969de7a1dfbfb6853fdc03e0a89a0f4f90f1 100644 --- a/src/libknot/packet/rrset-wire.c +++ b/src/libknot/packet/rrset-wire.c @@ -107,6 +107,10 @@ static void compr_set_ptr(knot_compr_t *compr, uint16_t hint, uint16_t offset = written_at - compr->wire; + if (knot_wire_is_pointer(written_at)) { + offset = knot_wire_get_pointer(written_at); + } + knot_compr_hint_set(compr->rrinfo, hint, offset, written_size); }