1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
diff --git a/libopendmarc/opendmarc_policy.c b/libopendmarc/opendmarc_policy.c
index 36412e4..f151fda 100644
--- a/libopendmarc/opendmarc_policy.c
+++ b/libopendmarc/opendmarc_policy.c
@@ -1058,7 +1058,7 @@ opendmarc_policy_parse_dmarc(DMARC_POLICY_T *pctx, u_char *domain, u_char *recor
*yp = '\0';
xp = opendmarc_util_cleanup(xp, xbuf, sizeof xbuf);
- if (xp != NULL || strlen((char *)xp) > 0)
+ if (xp != NULL && strlen((char *)xp) > 0)
{
/*
* Be generous. Accept, for example, "rf=a, aspf=afrf or any
@@ -1100,7 +1100,7 @@ opendmarc_policy_parse_dmarc(DMARC_POLICY_T *pctx, u_char *domain, u_char *recor
*yp = '\0';
xp = opendmarc_util_cleanup(xp, xbuf, sizeof xbuf);
- if (xp != NULL || strlen((char *)xp) > 0)
+ if (xp != NULL && strlen((char *)xp) > 0)
{
pctx->rua_list = opendmarc_util_pushargv(xp, pctx->rua_list,
&(pctx->rua_cnt));
@@ -1132,7 +1132,7 @@ opendmarc_policy_parse_dmarc(DMARC_POLICY_T *pctx, u_char *domain, u_char *recor
*yp = '\0';
xp = opendmarc_util_cleanup(xp, xbuf, sizeof xbuf);
- if (xp != NULL || strlen((char *)xp) > 0)
+ if (xp != NULL && strlen((char *)xp) > 0)
{
pctx->ruf_list = opendmarc_util_pushargv(xp, pctx->ruf_list,
&(pctx->ruf_cnt));
@@ -1159,7 +1159,7 @@ opendmarc_policy_parse_dmarc(DMARC_POLICY_T *pctx, u_char *domain, u_char *recor
*yp = '\0';
xp = opendmarc_util_cleanup(xp, xbuf, sizeof xbuf);
- if (xp != NULL || strlen((char *)xp) > 0)
+ if (xp != NULL && strlen((char *)xp) > 0)
{
switch ((int)*xp)
{
|