diff options
author | Tanu Kaskinen <tanuk@iki.fi> | 2017-10-29 21:15:48 +0200 |
---|---|---|
committer | Tanu Kaskinen <tanuk@iki.fi> | 2017-10-30 16:46:15 +0200 |
commit | 917730a55565e1a98a4fa0249470794f81bbe42a (patch) | |
tree | 2dd4aaed0f58bfa6a7d0bbd66ff7b9dd0230c268 | |
parent | 459cea16ee8be1024c35e86ab9a3676ceebcb550 (diff) |
sink-input, source-output: add a couple of assertions
Coverity complained about data->sink being possibly NULL when it's
dereferenced later. It was difficult for me to figure out whether that
was a false positive or not. Hopefully the comments make it a bit
easier to reason about the code in the future.
CID: 1323591
-rw-r--r-- | src/pulsecore/sink-input.c | 5 | ||||
-rw-r--r-- | src/pulsecore/source-output.c | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c index 05fe2c026..f993322e9 100644 --- a/src/pulsecore/sink-input.c +++ b/src/pulsecore/sink-input.c @@ -338,6 +338,11 @@ int pa_sink_input_new( data->format = pa_format_info_copy(pa_idxset_first(data->nego_formats, NULL)); if (PA_LIKELY(data->format)) { + /* We know that data->sink is set, because data->format has been set. + * data->format is set after a successful format negotiation, and that + * can't happen before data->sink has been set. */ + pa_assert(data->sink); + pa_log_debug("Negotiated format: %s", pa_format_info_snprint(fmt, sizeof(fmt), data->format)); } else { pa_format_info *format; diff --git a/src/pulsecore/source-output.c b/src/pulsecore/source-output.c index f8a421aa8..f8f4e0ef0 100644 --- a/src/pulsecore/source-output.c +++ b/src/pulsecore/source-output.c @@ -280,6 +280,11 @@ int pa_source_output_new( data->format = pa_format_info_copy(pa_idxset_first(data->nego_formats, NULL)); if (PA_LIKELY(data->format)) { + /* We know that data->source is set, because data->format has been set. + * data->format is set after a successful format negotiation, and that + * can't happen before data->source has been set. */ + pa_assert(data->source); + pa_log_debug("Negotiated format: %s", pa_format_info_snprint(fmt, sizeof(fmt), data->format)); } else { pa_format_info *format; |