From ad7b48ea08d6c33bae0a33c5f2a06272293c0f2f Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Fri, 7 Mar 2014 13:13:33 +0200 Subject: Avoid memcpy() with same source and destination address. The behavior of that is undefined, although unlikely to lead to problems in practice. Found by running regression tests with Valgrind. --- src/backend/utils/adt/tsvector.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/backend/utils/adt/tsvector.c') diff --git a/src/backend/utils/adt/tsvector.c b/src/backend/utils/adt/tsvector.c index 6396ad85777..9fdaa5b8b97 100644 --- a/src/backend/utils/adt/tsvector.c +++ b/src/backend/utils/adt/tsvector.c @@ -124,7 +124,8 @@ uniqueentry(WordEntryIN *a, int l, char *buf, int *outbuflen) buflen += res->poslen * sizeof(WordEntryPos) + sizeof(uint16); } res++; - memcpy(res, ptr, sizeof(WordEntryIN)); + if (res != ptr) + memcpy(res, ptr, sizeof(WordEntryIN)); } else if (ptr->entry.haspos) { -- cgit v1.2.3