Hi,

when compiling with gcc 7.1, we have the following warning (in French):

util_expr_eval.c: Dans la fonction « ap_expr_eval_re_backref »:
util_expr_eval.c:199:63: warning: comparaison entre un pointeur et la constante caractère zéro [-Wpointer-compare]
     if (!ctx->re_pmatch || !ctx->re_source || *ctx->re_source == '\0' ||
                                                               ^~
util_expr_eval.c:199:47: note: vouliez-vous déréférencer le pointeur ?
     if (!ctx->re_pmatch || !ctx->re_source || *ctx->re_source == '\0' ||
                                               ^

(i.e. comparison between a pointer and 0)


Knowing that we have:

typedef struct {
    ...
    /** the string corresponding to the re_pmatch */
    const char **re_source;
    ...
} ap_expr_eval_ctx_t;


Should the test in 'ap_expr_eval_re_backref' be something like:

    if (!ctx->re_pmatch || !ctx->re_source || !*ctx->re_source ||
        **ctx->re_source == '\0' || ctx->re_nmatch < n + 1)


Best regards,

CJ


Reply via email to