diff --git a/xplat/Flipper/ConnectionContextStore.cpp b/xplat/Flipper/ConnectionContextStore.cpp index a19f0d82a..04f5547ab 100644 --- a/xplat/Flipper/ConnectionContextStore.cpp +++ b/xplat/Flipper/ConnectionContextStore.cpp @@ -114,9 +114,16 @@ std::string ConnectionContextStore::getDeviceId() { folly::Optional ConnectionContextStore::getLastKnownMedium() { try { - std::string config = - loadStringFromFile(absoluteFilePath(CONNECTION_CONFIG_FILE)); - auto maybeMedium = folly::parseJson(config)["medium"]; + auto configurationFilePath = absoluteFilePath(CONNECTION_CONFIG_FILE); + if (!fileExists(configurationFilePath)) { + return folly::none; + } + std::string data = loadStringFromFile(configurationFilePath); + auto config = folly::parseJson(data); + if (config.count("medium") == 0) { + return folly::none; + } + auto maybeMedium = config["medium"]; return maybeMedium.isInt() ? folly::Optional{static_cast< FlipperCertificateExchangeMedium>(maybeMedium.getInt())}