summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--m_option.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/m_option.c b/m_option.c
index e595d0bb84..3601e2d4f0 100644
--- a/m_option.c
+++ b/m_option.c
@@ -886,7 +886,7 @@ static int parse_subconf(m_option_t* opt,char *name, char *param, void* dst, int
int optlen = strcspn(p, ":=");
/* clear out */
subopt[0] = subparam[0] = 0;
- strlcpy(subopt, p, optlen);
+ strlcpy(subopt, p, optlen + 1);
p = &p[optlen];
if (p[0] == '=') {
sscanf_ret = 2;
@@ -894,7 +894,7 @@ static int parse_subconf(m_option_t* opt,char *name, char *param, void* dst, int
if (p[0] == '"') {
p = &p[1];
optlen = strcspn(p, "\"");
- strlcpy(subparam, p, optlen);
+ strlcpy(subparam, p, optlen + 1);
p = &p[optlen];
if (p[0] != '"') {
mp_msg(MSGT_CFGPARSER, MSGL_ERR, "Terminating '\"' missing for '%s'\n", subopt);
@@ -909,11 +909,11 @@ static int parse_subconf(m_option_t* opt,char *name, char *param, void* dst, int
return M_OPT_INVALID;
}
p = &p[1];
- strlcpy(subparam, p, optlen);
+ strlcpy(subparam, p, optlen + 1);
p = &p[optlen];
} else {
optlen = strcspn(p, ":");
- strlcpy(subparam, p, optlen);
+ strlcpy(subparam, p, optlen + 1);
p = &p[optlen];
}
}