When either processing an input file or using EN_setnodevalue to assign a Volume Curve to a tank node, no check is made to insure that the curve doesn't have decreasing Y (volume) with increasing X (depth). This can happen, for example, if a generic curve that was used for a pump curve was also assigned as a volume curve for a tank.
EPANET will accept the invalid volume curve and produce nonsensical results (e.g., show a tank's volume decreasing as it is filling). Also the nominal area it assigns to the tank will be negative. This will generate a floating point exception when this area is converted to a diameter using the square root function (see lines 379 in input1.c and 191 in inpfile.c).