From 583208db7ed9e520af6f460dafa8484f38d2bc7a Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 8 Nov 2018 09:37:18 +0100 Subject: [PATCH] output/httpd: fix nullptr dereference crash bug When `metadata_sent` is `false`, the plugin assumes there is metadata which must be sent, even if no metadata page was passed to the plugin. Initializing it to `true` avoids dereferencing this `nullptr`. Fixes #412 --- NEWS | 2 +- src/output/plugins/httpd/HttpdClient.hxx | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index f75692b0e..fd2d7bbf3 100644 --- a/NEWS +++ b/NEWS @@ -3,7 +3,7 @@ ver 0.21.2 (not yet released) - ffmpeg: require FFmpeg 3.1 or later - ffmpeg: fix broken sound with certain codecs * output - - httpd: fix crash with "always_on" + - httpd: fix two crash bugs * fix zlib support ver 0.21.1 (2018/11/04) diff --git a/src/output/plugins/httpd/HttpdClient.hxx b/src/output/plugins/httpd/HttpdClient.hxx index f43c508d9..36da0a5ee 100644 --- a/src/output/plugins/httpd/HttpdClient.hxx +++ b/src/output/plugins/httpd/HttpdClient.hxx @@ -98,8 +98,11 @@ class HttpdClient final /** * If the current metadata was already sent to the client. + * + * Initialized to `true` because there is no metadata #Page + * pending to be sent. */ - bool metadata_sent = false; + bool metadata_sent = true; /** * The amount of streaming data between each metadata block