diff --git a/sourcestats.c b/sourcestats.c index 82fc5f5..d8a6987 100644 --- a/sourcestats.c +++ b/sourcestats.c @@ -866,7 +866,7 @@ SST_LoadFromFile(SST_Stats inst, FILE *in) if (fgets(line, sizeof(line), in) && sscanf(line, "%d", &inst->n_samples) == 1 && - inst->n_samples > 0 && inst->n_samples <= MAX_SAMPLES) { + inst->n_samples >= 0 && inst->n_samples <= MAX_SAMPLES) { for (i=0; in_samples; i++) { if (!fgets(line, sizeof(line), in) || @@ -903,6 +903,9 @@ SST_LoadFromFile(SST_Stats inst, FILE *in) return 0; } + if (!inst->n_samples) + return 1; + inst->last_sample = inst->n_samples - 1; inst->runs_samples = 0;