[lbs-server-plugin-replay] TNINE-4922 : Asan fix for heap-use-after-free in lbs-serve... 93/319493/1 accepted/tizen_unified accepted/tizen_unified_x accepted/tizen_unified_x_asan accepted/tizen/unified/20241106.141115 accepted/tizen/unified/x/20241218.032746 accepted/tizen/unified/x/asan/20241224.004512
authorPriya Kohli <priya.kohli@samsung.com>
Thu, 24 Oct 2024 09:14:18 +0000 (14:44 +0530)
committerPriya Kohli <priya.kohli@samsung.com>
Thu, 24 Oct 2024 09:16:06 +0000 (14:46 +0530)
Change-Id: I501ff6aea55f034f4d3d8cb26e85a5b033b3caba
Signed-off-by: Priya Kohli <priya.kohli@samsung.com>
gps-plugin/src/gps_plugin_replay.c

index 143ef8fa3c58b86d58aa29615c179ee002e2c877..f2f67b1a13ff981a0a6db5a1614c537dedd790a4 100755 (executable)
@@ -728,7 +728,11 @@ static int gps_plugin_replay_gps_request(gps_action_t gps_action, void *gps_acti
                display_mode_changed();
                break;
        case GPS_INDI_SUPL_DNSQUERY:
-               nmea_file_name = *(const char**)(gps_action_data);
+               if (nmea_file_name) {
+                       free(nmea_file_name);
+                       nmea_file_name = NULL;
+               }
+               nmea_file_name = strdup(*(const char**)(gps_action_data));
                break;
        case GPS_ACTION_START_FACTTEST:
                g_replay_timer->replay_mode = *(int*)(gps_action_data);
@@ -767,6 +771,10 @@ static int location_init(void **data)
 
 static int location_exit(void *data)
 {
+       if (nmea_file_name) {
+               free(nmea_file_name);
+               nmea_file_name = NULL;
+       }
        return 0;
 }