On 05/26/2017 11:29 AM, Christophe JAILLET wrote: > 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)
Looks sane to me as from a brief view it looks sane to me to assume that ctx->re_source is always != NULL at least if ctx->re_pmatch != 0 Regards Rüdiger