Avoid integer overflow in hstore_to_json().

Heikki Linnakangas <heikki.linnakangas@iki.fi>

Commit: 0c5783ff301ae3e470000c918bfc2395129de4c5
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: 2014-02-21T13:47:22Z
Releases: 9.4.0
Avoid integer overflow in hstore_to_json().

The length of the output buffer was calculated based on the size of the
argument hstore. On a sizeof(int) == 4 platform and a huge argument, it
could overflow, causing a too small buffer to be allocated.

Refactor the function to use a StringInfo instead of pre-allocating the
buffer. Makes it shorter and more readable, too.

Files

PathChange+/−
contrib/hstore/hstore_io.c modified +41 −109