From 3c1f9603ff5078db607597e23d3c8113f2d06e56 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Sat, 4 Apr 2015 15:54:09 -0700 Subject: Fix a string overflow vulnerability, and banish extract_f_from_stuff() --- src/geoptimiser.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src') diff --git a/src/geoptimiser.c b/src/geoptimiser.c index 93626277..409a6954 100644 --- a/src/geoptimiser.c +++ b/src/geoptimiser.c @@ -229,6 +229,28 @@ static double compute_average_clen (struct detector *det, char **clen_from, } +static double extract_f_from_stuff(const char *field_name, + struct stuff_from_stream* stuff) +{ + int i; + + char field_name_plus_equal[256]; + snprintf(field_name_plus_equal, 256, "hdf5%s = ", field_name); + + for ( i=0; in_fields; i++ ) { + + if ( strncmp(stuff->fields[i], field_name_plus_equal, + strlen(field_name_plus_equal)) == 0 ) { + return atoi(stuff->fields[i]+ + strlen(field_name_plus_equal)); + } + } + + ERROR("Failed to recover camera length from stream file\n"); + return -1; +} + + static struct pattern_list *read_patterns_from_steam_file(const char *infile, struct detector *det) { -- cgit v1.2.3