diff --git a/lib/cookies/cache.c b/lib/cookies/cache.c index 51668e4206e81b75d54983e328bdf76886c624a6..5669e165ab4374c0df18f94df833a3b699c1edd9 100644 --- a/lib/cookies/cache.c +++ b/lib/cookies/cache.c @@ -59,7 +59,10 @@ int kr_cookie_lru_set(kr_cookie_lru_t *cache, const struct sockaddr *sa, return kr_error(ENOMEM); } - memcpy(cached->opt_data, opt, knot_edns_opt_get_length(opt)); + uint16_t opt_size = KNOT_EDNS_OPTION_HDRLEN + + knot_edns_opt_get_length(opt); + + memcpy(cached->opt_data, opt, opt_size); return kr_ok(); }