]> sigrok.org Git - pulseview.git/commitdiff
Key strings passed to decoder options must be newly allocated
authorBert Vermeulen <redacted>
Wed, 16 Oct 2013 12:21:05 +0000 (14:21 +0200)
committerBert Vermeulen <redacted>
Wed, 16 Oct 2013 12:23:37 +0000 (14:23 +0200)
pv/prop/binding/decoderoptions.cpp

index 435d5f6d8bac998e03cac28deb26818cf5a4c3b0..dc3a8e974355c515322d3fb30e1920f4148afaab 100644 (file)
@@ -80,8 +80,10 @@ GVariant* DecoderOptions::getter(const char *id)
                {
                        const srd_decoder_option *const opt =
                                (srd_decoder_option*)l->data;
-                       if (strcmp(opt->id, id) == 0)
+                       if (strcmp(opt->id, id) == 0) {
                                val = opt->def;
+                               break;
+                       }
                }
        }
 
@@ -94,7 +96,7 @@ GVariant* DecoderOptions::getter(const char *id)
 void DecoderOptions::setter(const char *id, GVariant *value)
 {
        g_variant_ref(value);
-       g_hash_table_insert(_options, (void*)id, value);
+       g_hash_table_insert(_options, (void*)g_strdup(id), value);
 }
 
 } // binding