Message ID | 20231030104746.241414-1-rf@opensource.cirrus.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 15bf0000147ae9fc8fa4969025f71848fc558cba |
Delegated to: | Brendan Higgins |
Headers | show |
Series | [RESEND] kunit: string-stream: Allow ERR_PTR to be passed to string_stream_destroy() | expand |
On Mon, Oct 30, 2023 at 6:47 AM Richard Fitzgerald <rf@opensource.cirrus.com> wrote: > > Check the stream pointer passed to string_stream_destroy() for > IS_ERR_OR_NULL() instead of only NULL. > > Whatever alloc_string_stream() returns should be safe to pass > to string_stream_destroy(), and that will be an ERR_PTR. > > It's obviously good practise and generally helpful to also check > for NULL pointers so that client cleanup code can call > string_stream_destroy() unconditionally - which could include > pointers that have never been set to anything and so are NULL. > > Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com> Hello! Sorry for the delay in reviewing this patch but this looks good to me! Reviewed-by: Rae Moar <rmoar@google.com> Thanks! -Rae > --- > lib/kunit/string-stream.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/kunit/string-stream.c b/lib/kunit/string-stream.c > index a6f3616c2048..54f4fdcbfac8 100644 > --- a/lib/kunit/string-stream.c > +++ b/lib/kunit/string-stream.c > @@ -173,7 +173,7 @@ void string_stream_destroy(struct string_stream *stream) > { > KUNIT_STATIC_STUB_REDIRECT(string_stream_destroy, stream); > > - if (!stream) > + if (IS_ERR_OR_NULL(stream)) > return; > > string_stream_clear(stream); > -- > 2.30.2 >
On Mon, 30 Oct 2023 at 18:47, Richard Fitzgerald <rf@opensource.cirrus.com> wrote: > > Check the stream pointer passed to string_stream_destroy() for > IS_ERR_OR_NULL() instead of only NULL. > > Whatever alloc_string_stream() returns should be safe to pass > to string_stream_destroy(), and that will be an ERR_PTR. > > It's obviously good practise and generally helpful to also check > for NULL pointers so that client cleanup code can call > string_stream_destroy() unconditionally - which could include > pointers that have never been set to anything and so are NULL. > > Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com> > --- Yeah, this makes sense, and let's support NULL as well. Reviewed-by: David Gow <davidgow@google.com> Cheers, -- David
diff --git a/lib/kunit/string-stream.c b/lib/kunit/string-stream.c index a6f3616c2048..54f4fdcbfac8 100644 --- a/lib/kunit/string-stream.c +++ b/lib/kunit/string-stream.c @@ -173,7 +173,7 @@ void string_stream_destroy(struct string_stream *stream) { KUNIT_STATIC_STUB_REDIRECT(string_stream_destroy, stream); - if (!stream) + if (IS_ERR_OR_NULL(stream)) return; string_stream_clear(stream);
Check the stream pointer passed to string_stream_destroy() for IS_ERR_OR_NULL() instead of only NULL. Whatever alloc_string_stream() returns should be safe to pass to string_stream_destroy(), and that will be an ERR_PTR. It's obviously good practise and generally helpful to also check for NULL pointers so that client cleanup code can call string_stream_destroy() unconditionally - which could include pointers that have never been set to anything and so are NULL. Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com> --- lib/kunit/string-stream.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)