diff --git a/src/operators.c b/src/operators.c index b5c1a531a0170a1d6dfab37aca89870683678793..169c0f8d28533862d97104f0cdaecc9e8cd75cdc 100644 --- a/src/operators.c +++ b/src/operators.c @@ -1734,7 +1734,8 @@ PMOD_EXPORT void f_add(INT32 args) while (args > 2) { /* Pop the smallest element from the heap. */ FLOAT_ARG_TYPE top = Pike_sp[-args].u.float_number; - Pike_sp[-args] = *(--Pike_sp); + Pike_sp[-args] = Pike_sp[-1]; + Pike_sp--; args--; float_heap_sift_down(Pike_sp-args, 0, args);