]> sigrok.org Git - pulseview.git/blobdiff - pv/device/file.cpp
Fix double-free issue in File::create
[pulseview.git] / pv / device / file.cpp
index e82c5ece16c89e8f7d00da6da9fcb3bdda4506b9..368276a4ba8d8e1ce10e443ab645f9d19e3cad3c 100644 (file)
@@ -56,10 +56,11 @@ map<string, string> File::get_device_info() const
 
 File* File::create(const string &name)
 {
-       if (sr_session_load(name.c_str(), &SigSession::_sr_session) == SR_OK) {
+       struct sr_session *temp_session;
+       if (sr_session_load(name.c_str(), &temp_session) == SR_OK) {
                GSList *devlist = NULL;
-               sr_session_dev_list(SigSession::_sr_session, &devlist);
-               sr_session_destroy(SigSession::_sr_session);
+               sr_session_dev_list(temp_session, &devlist);
+               sr_session_destroy(temp_session);
 
                if (devlist) {
                        sr_dev_inst *const sdi = (sr_dev_inst*)devlist->data;