From 004a5bf7fce8000e9a0e26b2e2b5692114a07897 Mon Sep 17 00:00:00 2001 From: Steffen Jaeckel Date: Fri, 5 Aug 2022 14:51:07 +0200 Subject: [PATCH] fix infitite looping in resolver ...this time for real ...hopefully :) fixup of 870f2174d5f5d19bcfe4fcf427c01c9ac9bf4b3d Signed-off-by: Steffen Jaeckel --- src/resolver.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/resolver.c b/src/resolver.c index c0b6a68..1e02fc7 100644 --- a/src/resolver.c +++ b/src/resolver.c @@ -322,7 +322,7 @@ static unsigned message_name_get(const unsigned char *buf, return 0; pointer = (label_len & 0x3f) << 8 | buf[i++]; /* Prevent infinite looping */ - if (pointer == buf_offset) + if (pointer >= buf_offset) return 0; if (name != NULL && name_len >= name_max && name_max > 0) { /* We have filled the name buffer. Don't pass it recursively. */