This is a fix for the postgresql module, which didn't correctly parse its arguments. Argument 5 was not parsed correctly.
=== postgres.c ================================================================== --- postgres.c (revision 34286) +++ postgres.c (local) @@ -255,12 +255,12 @@ switch(args) { default: case 5: - if (Pike_sp[2-args].type==PIKE_T_INT && /*this check is maybe redundant*/ - Pike_sp[2-args].u.integer <=65535 && - Pike_sp[2-args].u.integer >= 0) { - if (Pike_sp[2-args].u.integer>0) { + if (Pike_sp[4-args].type==PIKE_T_INT && /*this check is maybe redundant*/ + Pike_sp[4-args].u.integer <=65535 && + Pike_sp[4-args].u.integer >= 0) { + if (Pike_sp[4-args].u.integer>0) { port=xalloc(10*sizeof(char)); /*we only need 6, we just checked.*/ - sprintf(port,"%"PRINTPIKEINT"d",Pike_sp[2-args].u.integer); + sprintf(port,"%"PRINTPIKEINT"d",Pike_sp[4-args].u.integer); } } case 4:
pike-devel@lists.lysator.liu.se