diff options
author | Ricardo Salveti de Araujo <ricardo.salveti@canonical.com> | 2014-10-01 20:07:04 -0300 |
---|---|---|
committer | David Henningsson <david.henningsson@canonical.com> | 2014-10-06 15:50:03 +0200 |
commit | 9dd4e8df3e37c7e4d3235e1813b4102f2b3b07d0 (patch) | |
tree | 980387953b2bc8fe5f23c94bdae56113f254e787 /src/modules/module-stream-restore.c | |
parent | 8fb5e7c32aa52947087657dbbc2e2aa44c6064b4 (diff) | |
download | pulseaudio-9dd4e8df3e37c7e4d3235e1813b4102f2b3b07d0.tar.gz |
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@canonical.com>
Diffstat (limited to 'src/modules/module-stream-restore.c')
-rw-r--r-- | src/modules/module-stream-restore.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/src/modules/module-stream-restore.c b/src/modules/module-stream-restore.c index 38d6aac62..06ab543d5 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); |