Fix issue with storing info to cache file in DA 51/316851/2
authorSohyeon Choi <shss.choi@samsung.com>
Thu, 29 Aug 2024 05:31:49 +0000 (14:31 +0900)
committerWootak Jung <wootak.jung@samsung.com>
Thu, 29 Aug 2024 08:40:38 +0000 (17:40 +0900)
Change-Id: Id74f36a9bbbbc6bb91f1cd1b05a28950bb1a7426
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
profiles/audio/a2dp.c

index 14c784de0090a492baf3c95ea416854a2d54c84a..9bae0498af6ac7083c9b423301c3f75ea4703415 100644 (file)
@@ -38,6 +38,9 @@
 #include "src/service.h"
 #include "src/log.h"
 #include "src/sdpd.h"
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+#include "src/textfile.h"
+#endif
 #include "src/shared/queue.h"
 #include "src/shared/timeout.h"
 #include "src/shared/util.h"
@@ -880,11 +883,12 @@ static void store_remote_seps(struct a2dp_channel *chan)
        ba2str(device_get_address(device), dst_addr);
 
 #ifdef TIZEN_FEATURE_BLUEZ_MODIFY
-       if (TIZEN_FEATURE_BLUEZ_DA)
+       if (TIZEN_FEATURE_BLUEZ_DA) {
                snprintf(filename, PATH_MAX, TIZEN_FEATURE_BLUEZ_DA_CACHE_DIR "/%s/cache/%s",
                                btd_adapter_get_storage_dir(device_get_adapter(device)),
                                dst_addr);
-       else
+               create_file(filename, 0600);
+       } else
 #endif
        snprintf(filename, PATH_MAX, STORAGEDIR "/%s/cache/%s",
                        btd_adapter_get_storage_dir(device_get_adapter(device)),
@@ -894,6 +898,10 @@ static void store_remote_seps(struct a2dp_channel *chan)
                error("Unable to load key file from %s: (%s)", filename,
                                                                gerr->message);
                g_error_free(gerr);
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+               g_key_file_free(key_file);
+               return;
+#endif
        }
 
        data = g_key_file_get_string(key_file, "Endpoints", "LastUsed",
@@ -1060,11 +1068,12 @@ static void store_last_used(struct a2dp_channel *chan, uint8_t lseid,
        ba2str(device_get_address(chan->device), dst_addr);
 
 #ifdef TIZEN_FEATURE_BLUEZ_MODIFY
-       if (TIZEN_FEATURE_BLUEZ_DA)
+       if (TIZEN_FEATURE_BLUEZ_DA) {
                snprintf(filename, PATH_MAX, TIZEN_FEATURE_BLUEZ_DA_CACHE_DIR "/%s/cache/%s",
                                btd_adapter_get_storage_dir(device_get_adapter(chan->device)),
                                dst_addr);
-       else
+               create_file(filename, 0600);
+       } else
 #endif
        snprintf(filename, PATH_MAX, STORAGEDIR "/%s/cache/%s",
                btd_adapter_get_storage_dir(device_get_adapter(chan->device)),
@@ -1074,6 +1083,10 @@ static void store_last_used(struct a2dp_channel *chan, uint8_t lseid,
                error("Unable to load key file from %s: (%s)", filename,
                                                                gerr->message);
                g_error_free(gerr);
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+               g_key_file_free(key_file);
+               return;
+#endif
        }
 
        sprintf(value, "%02hhx:%02hhx", lseid, rseid);