]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
hexdecoct: make return parameters of unbase64mem() and unhexmem() optional
authorLennart Poettering <lennart@poettering.net>
Wed, 26 May 2021 11:32:11 +0000 (13:32 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 26 May 2021 14:17:33 +0000 (16:17 +0200)
Inspired by: #19059

src/basic/hexdecoct.c

index cb0104670f0770344005309c422f19559d198257..a5edccad2027ec7142a6e449ffb9f0e67969560a 100644 (file)
@@ -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;