]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
fr_value_box_memsteal can never fail
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 27 Feb 2018 07:57:28 +0000 (13:57 +0600)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Wed, 28 Feb 2018 11:06:41 +0000 (17:06 +0600)
src/include/value.h
src/lib/util/value.c

index 8579f8af98c8e25ed1bec2b15013347a4c2ee5b2..201d72aedce957f7bd510988b71a3245788ae68d 100644 (file)
@@ -511,7 +511,7 @@ int         fr_value_box_append_mem(fr_value_box_t *dst,
                                       uint8_t const *src, size_t len, bool tainted);
 int            fr_value_box_memdup_buffer(TALLOC_CTX *ctx, fr_value_box_t *dst, fr_dict_attr_t const *enumv,
                                           uint8_t *src, bool tainted);
-int            fr_value_box_memsteal(TALLOC_CTX *ctx, fr_value_box_t *dst, fr_dict_attr_t const *enumv,
+void           fr_value_box_memsteal(TALLOC_CTX *ctx, fr_value_box_t *dst, fr_dict_attr_t const *enumv,
                                      uint8_t const *src, bool tainted);
 int            fr_value_box_memdup_shallow(fr_value_box_t *dst, fr_dict_attr_t const *enumv,
                                            uint8_t *src, size_t len, bool tainted);
index 92f789226c0a52a6a95e3314da4ec08bff230d8d..0f16db3c41d31e556850bcc5f2f63b2ad9882044 100644 (file)
@@ -2997,31 +2997,20 @@ int fr_value_box_memdup_buffer(TALLOC_CTX *ctx, fr_value_box_t *dst, fr_dict_att
  * @param[in] enumv    Aliases for values.
  * @param[in] src      a talloced nul terminated buffer.
  * @param[in] tainted  Whether the value came from a trusted source.
- * @return
- *     - 0 on success.
- *     - -1 on failure.
  */
-int fr_value_box_memsteal(TALLOC_CTX *ctx, fr_value_box_t *dst, fr_dict_attr_t const *enumv,
-                         uint8_t const *src, bool tainted)
+void fr_value_box_memsteal(TALLOC_CTX *ctx, fr_value_box_t *dst, fr_dict_attr_t const *enumv,
+                          uint8_t const *src, bool tainted)
 {
-       uint8_t const   *bin;
-
        (void) talloc_get_type_abort_const(src, uint8_t);
 
-       bin = talloc_steal(ctx, src);
-       if (!bin) {
-               fr_strerror_printf("Failed stealing buffer");
-               return -1;
-       }
+       (void) talloc_steal(ctx, src);  /* steal can never fail according to talloc docs */
 
        dst->type = FR_TYPE_OCTETS;
        dst->tainted = tainted;
-       dst->vb_octets = bin;
+       dst->vb_octets = src;
        dst->datum.length = talloc_array_length(src);
        dst->enumv = enumv;
        dst->next = NULL;
-
-       return 0;
 }
 
 /** Assign a buffer to a box, but don't copy it