diff options
Diffstat (limited to 'src/backend/utils/adt/arrayfuncs.c')
-rw-r--r-- | src/backend/utils/adt/arrayfuncs.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/backend/utils/adt/arrayfuncs.c b/src/backend/utils/adt/arrayfuncs.c index 9b95207d1e3..d6423e405ff 100644 --- a/src/backend/utils/adt/arrayfuncs.c +++ b/src/backend/utils/adt/arrayfuncs.c @@ -2436,8 +2436,7 @@ array_set_element(Datum arraydatum, { bits8 *newnullbitmap = ARR_NULLBITMAP(newarray); - /* Zero the bitmap to take care of marking inserted positions null */ - MemSet(newnullbitmap, 0, (newnitems + 7) / 8); + /* palloc0 above already marked any inserted positions as nulls */ /* Fix the inserted value */ if (addedafter) array_set_isnull(newnullbitmap, newnitems - 1, isNull); @@ -3049,8 +3048,7 @@ array_set_slice(Datum arraydatum, bits8 *newnullbitmap = ARR_NULLBITMAP(newarray); bits8 *oldnullbitmap = ARR_NULLBITMAP(array); - /* Zero the bitmap to handle marking inserted positions null */ - MemSet(newnullbitmap, 0, (nitems + 7) / 8); + /* palloc0 above already marked any inserted positions as nulls */ array_bitmap_copy(newnullbitmap, addedbefore, oldnullbitmap, 0, itemsbefore); |