From: Arran Cudbard-Bell Date: Tue, 27 Feb 2018 07:57:28 +0000 (+0600) Subject: fr_value_box_memsteal can never fail X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=554e9d1cc0d8b180ea120256cfeb6f9bbf4c7e6c;p=thirdparty%2Ffreeradius-server.git fr_value_box_memsteal can never fail --- diff --git a/src/include/value.h b/src/include/value.h index 8579f8af98c..201d72aedce 100644 --- a/src/include/value.h +++ b/src/include/value.h @@ -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); diff --git a/src/lib/util/value.c b/src/lib/util/value.c index 92f789226c0..0f16db3c41d 100644 --- a/src/lib/util/value.c +++ b/src/lib/util/value.c @@ -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