From: Lennart Poettering Date: Wed, 26 May 2021 11:32:11 +0000 (+0200) Subject: hexdecoct: make return parameters of unbase64mem() and unhexmem() optional X-Git-Tag: v249-rc1~144 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3dfeb0449189c6610fa46342389fdf434483b87e;p=thirdparty%2Fsystemd.git hexdecoct: make return parameters of unbase64mem() and unhexmem() optional Inspired by: #19059 --- diff --git a/src/basic/hexdecoct.c b/src/basic/hexdecoct.c index cb0104670f0..a5edccad202 100644 --- a/src/basic/hexdecoct.c +++ b/src/basic/hexdecoct.c @@ -115,8 +115,6 @@ int unhexmem_full(const char *p, size_t l, bool secure, void **ret, size_t *ret_ uint8_t *z; int r; - assert(ret); - assert(ret_len); assert(p || l == 0); if (l == SIZE_MAX) @@ -150,8 +148,10 @@ int unhexmem_full(const char *p, size_t l, bool secure, void **ret, size_t *ret_ *z = 0; - *ret_len = (size_t) (z - buf); - *ret = TAKE_PTR(buf); + if (ret_len) + *ret_len = (size_t) (z - buf); + if (ret) + *ret = TAKE_PTR(buf); return 0; @@ -705,8 +705,6 @@ int unbase64mem_full(const char *p, size_t l, bool secure, void **ret, size_t *r int r; assert(p || l == 0); - assert(ret); - assert(ret_size); if (l == SIZE_MAX) l = strlen(p); @@ -802,8 +800,10 @@ int unbase64mem_full(const char *p, size_t l, bool secure, void **ret, size_t *r *z = 0; - *ret_size = (size_t) (z - buf); - *ret = TAKE_PTR(buf); + if (ret_size) + *ret_size = (size_t) (z - buf); + if (ret) + *ret = TAKE_PTR(buf); return 0;