Skip to content

Commit 9a3fea9

Browse files
committed
check return value from fscanf
1 parent 96cb513 commit 9a3fea9

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

src/io/read.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,10 @@ int feenox_instruction_read_data(void *arg) {
2929
}
3030

3131
if (read_data->variable != NULL) {
32-
fscanf(read_data->file->pointer, "%lf", read_data->variable->value);
32+
if (fscanf(read_data->file->pointer, "%lf", read_data->variable->value) != 1) {
33+
feenox_push_error_message("error reading data from file '%s' into variable '%s'", read_data->file->name, read_data->variable->name);
34+
return FEENOX_ERROR;
35+
}
3336
} else {
3437

3538
if (read_data->vector->initialized == 0) {
@@ -39,7 +42,10 @@ int feenox_instruction_read_data(void *arg) {
3942
}
4043
double xi = 0;
4144
for (int i = 0; i < read_data->vector->size; i++) {
42-
fscanf(read_data->file->pointer, "%lf", &xi);
45+
if (fscanf(read_data->file->pointer, "%lf", &xi) != 1) {
46+
feenox_push_error_message("error reading data from file '%s' into vector '%s' at offset %d", read_data->file->name, read_data->vector->name, i+1);
47+
return FEENOX_ERROR;
48+
}
4349
gsl_vector_set(read_data->vector->value, i, xi);
4450
}
4551
}

0 commit comments

Comments
 (0)