diff --git a/src/zaxis.c b/src/zaxis.c index 3fa35807587703a4eb17e889ec79e2df34686af2..a1fbc386256d916953bc196cc463f6b0bfcec605 100644 --- a/src/zaxis.c +++ b/src/zaxis.c @@ -760,7 +760,7 @@ void zaxisDefLevels(int zaxisID, const double *levels) if ( levels ) { - if ( zaxisptr->vals == NULL ) + if ( zaxisptr->vals == NULL && size != (size_t) 0 ) zaxisptr->vals = (double*) Malloc(size*sizeof(double)); double *vals = zaxisptr->vals; @@ -792,7 +792,7 @@ void zaxisDefLevel(int zaxisID, int levelID, double level) zaxis_t *zaxisptr = zaxis_to_pointer(zaxisID); int size = zaxisptr->size; - if ( zaxisptr->vals == NULL ) + if ( zaxisptr->vals == NULL && size != 0 ) zaxisptr->vals = (double*) Malloc((size_t)size*sizeof(double)); if ( levelID >= 0 && levelID < size )