From f367438b192887a18c65f1958761b51deed7c64d Mon Sep 17 00:00:00 2001 From: Artem Savkov <asavkov@redhat.com> Date: Wed, 31 Jul 2019 13:33:20 +0200 Subject: [PATCH] create-diff-object: null checks in rela_equal() Make sure rela_toc(1|2) are not null before dereferencing them in rela_equal(). Found by covscan, see issue #984 for full log. Signed-off-by: Artem Savkov <asavkov@redhat.com> --- kpatch-build/create-diff-object.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c index 6d43fef..ddf73e0 100644 --- a/kpatch-build/create-diff-object.c +++ b/kpatch-build/create-diff-object.c @@ -373,6 +373,9 @@ static int rela_equal(struct rela *rela1, struct rela *rela2) if (!rela_toc1 && !rela_toc2) return toc_data1 == toc_data2; + if (!rela_toc1 || !rela_toc2) + return 0; + if (rela_toc1->string) return rela_toc2->string && !strcmp(rela_toc1->string, rela_toc2->string);