From 4fd3ee45503b1122d719347e3134c4a5707f2812 Mon Sep 17 00:00:00 2001 From: Justin Berger Date: Sat, 14 Apr 2018 13:06:30 -0600 Subject: Fixed some memory leaks --- src/survive.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/survive.c') diff --git a/src/survive.c b/src/survive.c index bb1179e..58566c1 100644 --- a/src/survive.c +++ b/src/survive.c @@ -226,6 +226,19 @@ SurviveContext *survive_init_internal(int argc, char *const *argv) { return ctx; } +survive_timecode survive_timecode_difference(survive_timecode most_recent, survive_timecode least_recent) { + uint32_t diff = 0; + if (most_recent > least_recent) { + diff = most_recent - least_recent; + } else { + diff = least_recent - most_recent; + } + + if (diff > 0xFFFFFFFF / 2) + return 0x7FFFFFFF / 2 - diff; + return diff; +} + void *GetDriverByConfig(SurviveContext *ctx, const char *name, const char *configname, const char *configdef, int verbose) { const char *Preferred = survive_configs(ctx, configname, SC_SETCONFIG, configdef); @@ -499,6 +512,8 @@ void survive_close(SurviveContext *ctx) { destroy_config_group(ctx->lh_config); for (i = 0; i < ctx->objs_ct; i++) { + free(ctx->objs[i]->sensor_locations); + free(ctx->objs[i]->sensor_normals); free(ctx->objs[i]); } @@ -510,6 +525,8 @@ void survive_close(SurviveContext *ctx) { free(ctx->global_config_values); free(ctx->temporary_config_values); free(ctx->lh_config); + free(ctx->calptr); + free(ctx->recptr); free(ctx); } -- cgit v1.2.3