Skip to content

Commit f15d682

Browse files
author
Andreas Garnæs
committed
Use safe deserialization for untrusted input
1 parent 6644ee4 commit f15d682

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

roaringbitmap.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ rb_from_bytea(PG_FUNCTION_ARGS) {
9090
bytea *serializedbytes = PG_GETARG_BYTEA_P(0);
9191
roaring_bitmap_t *r1;
9292

93-
r1 = roaring_bitmap_portable_deserialize(VARDATA(serializedbytes));
93+
r1 = roaring_bitmap_portable_deserialize_safe(VARDATA(serializedbytes), VARSIZE(serializedbytes) - VARHDRSZ);
9494
if (!r1)
9595
ereport(ERROR,
9696
(errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED),
@@ -120,7 +120,7 @@ roaringbitmap_in(PG_FUNCTION_ARGS) {
120120
dd = DirectFunctionCall1(byteain, PG_GETARG_DATUM(0));
121121

122122
serializedbytes = DatumGetByteaP(dd);
123-
r1 = roaring_bitmap_portable_deserialize(VARDATA(serializedbytes));
123+
r1 = roaring_bitmap_portable_deserialize_safe(VARDATA(serializedbytes), VARSIZE(serializedbytes) - VARHDRSZ);
124124
if (!r1)
125125
ereport(ERROR,
126126
(errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED),

0 commit comments

Comments
 (0)