Skip to content

Commit

Permalink
Only remove a delimiter if a delimiter was found
Browse files Browse the repository at this point in the history
Some macros are truncated by on character if expanded on input strings
without a delimiter. This commit will fix that.
  • Loading branch information
Moritz Schneider committed Aug 9, 2023
1 parent 4915c30 commit 6abe7a2
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion src/libspf2/spf_expand.c
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,13 @@ SPF_record_expand_data(SPF_server_t *spf_server,
break;
p_write--;
}
p_write++; /* Move to just after the '.' */
/* Move to just after the '.', but only if we have found at least
* one '.' in the string. For a string without any delimiter
* inside there is no '.' to remove, otherwise we would remove a
* character from the payload */
if (num_found != 0) {
p_write++;
}
/* This moves the '\0' as well. */
len = p_read_end - p_write;
memmove(munged_var, p_write, len + 1);
Expand Down

0 comments on commit 6abe7a2

Please sign in to comment.