From b3fc5293379feb3640b23622bcc8f5f8d7f1e81d Mon Sep 17 00:00:00 2001 From: Josef 'Jeff' Sipek Date: Tue, 19 Sep 2017 13:09:07 +0300 Subject: [PATCH] lib: [io]_stream_unref(NULL) should be a no-op --- src/lib/istream.c | 7 ++++++- src/lib/ostream.c | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/lib/istream.c b/src/lib/istream.c index cf5f81a382..ffcf7b640e 100644 --- a/src/lib/istream.c +++ b/src/lib/istream.c @@ -49,7 +49,12 @@ void i_stream_ref(struct istream *stream) void i_stream_unref(struct istream **stream) { - struct istream_private *_stream = (*stream)->real_stream; + struct istream_private *_stream; + + if (*stream == NULL) + return; + + _stream = (*stream)->real_stream; if (_stream->iostream.refcount == 1) { if (_stream->line_str != NULL) diff --git a/src/lib/ostream.c b/src/lib/ostream.c index 175e417b04..abae3b0712 100644 --- a/src/lib/ostream.c +++ b/src/lib/ostream.c @@ -75,7 +75,12 @@ void o_stream_ref(struct ostream *stream) void o_stream_unref(struct ostream **_stream) { - struct ostream *stream = *_stream; + struct ostream *stream; + + if (*_stream == NULL) + return; + + stream = *_stream; if (stream->real_stream->last_errors_not_checked && !stream->real_stream->error_handling_disabled && -- 2.47.3