From 34b57aed6a544f9af1038e00d46cca8e5d9d545b Mon Sep 17 00:00:00 2001
From: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
Date: Tue, 6 Jun 2017 13:42:19 -0400
Subject: [PATCH] AudioStream: fix invalid memory access

Fix AudioStream::getDeviceName() that calls pa_stream_get_device_name()
without checking the return value.
This last can be the error -PA_ERR_NOTSUPPORTED or null for other issues.
In such cases we return an empty string.

Change-Id: Ia293ff8d93212d87c8fa5e6ce8399964044d530f
---
 src/media/audio/pulseaudio/audiostream.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/media/audio/pulseaudio/audiostream.h b/src/media/audio/pulseaudio/audiostream.h
index 7dc6bd2384..d14f90f5b0 100644
--- a/src/media/audio/pulseaudio/audiostream.h
+++ b/src/media/audio/pulseaudio/audiostream.h
@@ -83,7 +83,10 @@ class AudioStream {
         }
 
         inline std::string getDeviceName() const {
-            return pa_stream_get_device_name(audiostream_);
+            auto res = pa_stream_get_device_name(audiostream_);
+            if (res == reinterpret_cast<decltype(res)>(-PA_ERR_NOTSUPPORTED) or !res)
+                return {};
+            return res;
         }
 
         bool isReady();
-- 
GitLab