/* jpath .c */
typedef struct fr_jpath_node fr_jpath_node_t;
-size_t fr_jpath_escape_func(UNUSED request_t *request, char *out, size_t outlen,
+ssize_t fr_jpath_escape_func(UNUSED request_t *request, char *out, size_t outlen,
char const *in, UNUSED void *arg);
int fr_jpath_evaluate_leaf(TALLOC_CTX *ctx, fr_value_box_list_t *out,
* @param arg uctx data, not used.
* @return the number of chars written to out.
*/
-size_t fr_jpath_escape_func(UNUSED request_t *request, char *out, size_t outlen, char const *in, UNUSED void *arg)
+ssize_t fr_jpath_escape_func(UNUSED request_t *request, char *out, size_t outlen, char const *in, UNUSED void *arg)
{
char const *p = in;
char *q = out, *end = out + outlen;
* @param in string to escape.
* @param arg Context arguments (unused, should be NULL).
*/
-size_t rad_filename_make_safe(UNUSED request_t *request, char *out, size_t outlen, char const *in, UNUSED void *arg)
+ssize_t rad_filename_make_safe(UNUSED request_t *request, char *out, size_t outlen, char const *in, UNUSED void *arg)
{
char const *q = in;
char *p = out;
* @param in string to escape.
* @param arg Context arguments (unused, should be NULL).
*/
-size_t rad_filename_escape(UNUSED request_t *request, char *out, size_t outlen, char const *in, UNUSED void *arg)
+ssize_t rad_filename_escape(UNUSED request_t *request, char *out, size_t outlen, char const *in, UNUSED void *arg)
{
size_t freespace = outlen;
#include <freeradius-devel/util/talloc.h>
void (*reset_signal(int signo, void (*func)(int)))(int);
-size_t rad_filename_make_safe(UNUSED request_t *request, char *out, size_t outlen,
+ssize_t rad_filename_make_safe(UNUSED request_t *request, char *out, size_t outlen,
char const *in, UNUSED void *arg);
int rad_filename_box_make_safe(fr_value_box_t *vb, UNUSED void *uxtc);
-size_t rad_filename_escape(UNUSED request_t *request, char *out, size_t outlen,
+ssize_t rad_filename_escape(UNUSED request_t *request, char *out, size_t outlen,
char const *in, UNUSED void *arg);
int rad_filename_box_escape(fr_value_box_t *vb, UNUSED void *uxtc);
ssize_t rad_filename_unescape(char *out, size_t outlen, char const *in, size_t inlen);
#include <freeradius-devel/server/request.h>
-typedef size_t (*xlat_escape_legacy_t)(request_t *request, char *out, size_t outlen, char const *in, void *arg);
+typedef ssize_t (*xlat_escape_legacy_t)(request_t *request, char *out, size_t outlen, char const *in, void *arg);
#include <freeradius-devel/server/cf_util.h>
#include <freeradius-devel/server/signal.h>
return mysql_affected_rows(conn->sock);
}
-static size_t sql_escape_func(UNUSED request_t *request, char *out, size_t outlen, char const *in, void *arg)
+static ssize_t sql_escape_func(UNUSED request_t *request, char *out, size_t outlen, char const *in, void *arg)
{
size_t inlen;
connection_t *c = talloc_get_type_abort(arg, connection_t);
return conn->affected_rows;
}
-static size_t sql_escape_func(request_t *request, char *out, size_t outlen, char const *in, void *arg)
+static ssize_t sql_escape_func(request_t *request, char *out, size_t outlen, char const *in, void *arg)
{
size_t inlen, ret;
connection_t *c = talloc_get_type_abort(arg, connection_t);
/*
* Yucky prototype.
*/
-static size_t sql_escape_func(request_t *, char *out, size_t outlen, char const *in, void *arg);
+static ssize_t sql_escape_func(request_t *, char *out, size_t outlen, char const *in, void *arg);
/** Escape a tainted VB used as an xlat argument
*
fr_sbuff_t sbuff;
fr_sbuff_uctx_talloc_t sbuff_ctx;
- size_t len;
+ ssize_t len;
void *arg;
rlm_sql_escape_uctx_t *ctx = uctx;
rlm_sql_t const *inst = talloc_get_type_abort_const(ctx->sql, rlm_sql_t);
}
len = inst->sql_escape_func(request, fr_sbuff_buff(&sbuff), vb->vb_length * 3 + 1, vb->vb_strvalue, arg);
+ if (len < 0) goto error;
/*
* fr_value_box_strdup_shallow resets the dlist entries - take a copy
/** xlat escape function for drivers which do not provide their own
*
*/
-static size_t sql_escape_func(UNUSED request_t *request, char *out, size_t outlen, char const *in, void *arg)
+static ssize_t sql_escape_func(UNUSED request_t *request, char *out, size_t outlen, char const *in, void *arg)
{
rlm_sql_t const *inst = talloc_get_type_abort_const(arg, rlm_sql_t);
size_t len = 0;