This PR fixes a bug where the following sequence of actions would produce a .diaphora file that fails to load in the plugin:
Create a diff.
Save it to a .diaphora file (from Plugins -> Diaphora - Save).
Relaunch IDA and re-load that file.
Re-save it again (from the RMB context menu).
Attempt to re-load the re-saved database again. Notice the DB cannot be loaded due to an exception thrown inside os.path.exists(diff_db).
With this PR, the following two fixes correct the functionality:
Re-loaded diffs can now re-save the path properly.
"Broken" diff files can now be loaded, because a null diff_db is now gracefully handled, allowing for the fallback (where the user points the plugin at the database again) to work as intended.
This PR fixes a bug where the following sequence of actions would produce a
.diaphora
file that fails to load in the plugin:.diaphora
file (fromPlugins -> Diaphora - Save
).os.path.exists(diff_db)
.With this PR, the following two fixes correct the functionality:
diff_db
is now gracefully handled, allowing for the fallback (where the user points the plugin at the database again) to work as intended.