Fix some instances where we printed a string without first checking that
authorPierre Ossman <ossman@cendio.se>
Tue, 6 Mar 2007 15:47:11 +0000 (15:47 +0000)
committerPierre Ossman <ossman@cendio.se>
Tue, 6 Mar 2007 15:47:11 +0000 (15:47 +0000)
the pointer was valid.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1436 fefdeb5f-60dc-0310-8127-8f9354f1896f

src/pulsecore/cli-command.c
src/pulsecore/cli-text.c

index aa2beba..e87b257 100644 (file)
@@ -246,6 +246,7 @@ static int pa_cli_command_stat(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, PA_G
     char s[256];
     const pa_mempool_stat *stat;
     unsigned k;
+    const char *def_sink, *def_source;
 
     static const char* const type_table[PA_MEMBLOCK_TYPE_MAX] = {
         [PA_MEMBLOCK_POOL] = "POOL",
@@ -283,10 +284,12 @@ static int pa_cli_command_stat(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, PA_G
     pa_strbuf_printf(buf, "Default sample spec: %s\n",
                      pa_sample_spec_snprint(s, sizeof(s), &c->default_sample_spec));
 
+    def_sink = pa_namereg_get_default_sink_name(c);
+    def_source = pa_namereg_get_default_source_name(c);
     pa_strbuf_printf(buf, "Default sink name: %s\n"
                      "Default source name: %s\n",
-                     pa_namereg_get_default_sink_name(c),
-                     pa_namereg_get_default_source_name(c));
+                     def_sink ? def_sink : "none",
+                     def_source ? def_source : "none");
 
     for (k = 0; k < PA_MEMBLOCK_TYPE_MAX; k++)
         pa_strbuf_printf(buf,
index e97f057..413f933 100644 (file)
@@ -55,8 +55,15 @@ char *pa_module_list_to_string(pa_core *c) {
 
     pa_strbuf_printf(s, "%u module(s) loaded.\n", pa_idxset_size(c->modules));
 
-    for (m = pa_idxset_first(c->modules, &idx); m; m = pa_idxset_next(c->modules, &idx))
-        pa_strbuf_printf(s, "    index: %u\n\tname: <%s>\n\targument: <%s>\n\tused: %i\n\tauto unload: %s\n", m->index, m->name, m->argument, m->n_used, m->auto_unload ? "yes" : "no");
+    for (m = pa_idxset_first(c->modules, &idx); m; m = pa_idxset_next(c->modules, &idx)) {
+        pa_strbuf_printf(s, "    index: %u\n"
+            "\tname: <%s>\n"
+            "\targument: <%s>\n"
+            "\tused: %i\n"
+            "\tauto unload: %s\n",
+            m->index, m->name, m->argument ? m->argument : "", m->n_used,
+            m->auto_unload ? "yes" : "no");
+    }
 
     return pa_strbuf_tostring_free(s);
 }
@@ -337,7 +344,7 @@ char *pa_autoload_list_to_string(pa_core *c) {
                 e->type == PA_NAMEREG_SOURCE ? "source" : "sink",
                 e->index,
                 e->module,
-                e->argument);
+                e->argument ? e->argument : "");
 
         }
     }