[pulseaudio-commits] src/modules

David Henningsson diwic at kemper.freedesktop.org
Mon Oct 6 06:58:29 PDT 2014


 src/modules/module-stream-restore.c |    9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

New commits:
commit 9dd4e8df3e37c7e4d3235e1813b4102f2b3b07d0
Author: Ricardo Salveti de Araujo <ricardo.salveti at canonical.com>
Date:   Wed Oct 1 20:07:04 2014 -0300

    module-stream-restore: use entry_write when filling up the database
    
    It seems at some point the code migrated to use the entry_write calls,
    but fill_db is still using the old syntax, causing the entry to be
    invalid.
    
    The crash happens when clean_up_db gets called, which then calls
    entry_read, causing the crash.
    
    Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti at canonical.com>

diff --git a/src/modules/module-stream-restore.c b/src/modules/module-stream-restore.c
index 38d6aac..06ab543 100644
--- a/src/modules/module-stream-restore.c
+++ b/src/modules/module-stream-restore.c
@@ -1831,7 +1831,6 @@ static int fill_db(struct userdata *u, const char *filename) {
         *d = 0;
         if (pa_atod(v, &db) >= 0) {
             if (db <= 0.0) {
-                pa_datum key, data;
                 struct entry e;
 
                 pa_zero(e);
@@ -1840,13 +1839,7 @@ static int fill_db(struct userdata *u, const char *filename) {
                 pa_cvolume_set(&e.volume, 1, pa_sw_volume_from_dB(db));
                 pa_channel_map_init_mono(&e.channel_map);
 
-                key.data = (void *) ln;
-                key.size = strlen(ln);
-
-                data.data = (void *) &e;
-                data.size = sizeof(e);
-
-                if (pa_database_set(u->database, &key, &data, false) == 0)
+                if (entry_write(u, ln, &e, false))
                     pa_log_debug("Setting %s to %0.2f dB.", ln, db);
             } else
                 pa_log_warn("[%s:%u] Positive dB values are not allowed, not setting entry %s.", fn, n, ln);



More information about the pulseaudio-commits mailing list