freebsd-ports/databases/pgsphere/files/patch-path.c
2020-09-13 03:19:20 +00:00

25 lines
550 B
C

--- path.c.orig 2019-10-30 10:18:38 UTC
+++ path.c
@@ -513,13 +513,21 @@ spherepath_in(PG_FUNCTION_ARGS)
nelem = get_path_count();
if (nelem > 1)
{
- SPoint arr[nelem];
+ SPoint* arr = (SPoint*)malloc(nelem*sizeof(SPoint));
+ if (arr == NULL) {
+ reset_buffer();
+ elog(ERROR, "spherepath_in: could not allocate array");
+ PG_RETURN_NULL();
+ }
for (i = 0; i < nelem; i++)
{
get_path_elem(i, &arr[i].lng, &arr[i].lat);
}
path = spherepath_from_array(&arr[0], nelem);
+
+ //free array
+ free(arr);
}
else
{