summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/text.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/text.c b/src/text.c
index 60edb03..e85b0eb 100644
--- a/src/text.c
+++ b/src/text.c
@@ -283,13 +283,13 @@ ModMaskText(struct xkb_context *ctx, const struct xkb_mod_set *mods,
pos += ret;
}
- return strcpy(xkb_context_get_buffer(ctx, pos + 1), buf);
+ return strncpy(xkb_context_get_buffer(ctx, pos + 1), buf, pos + 1);
}
const char *
LedStateMaskText(struct xkb_context *ctx, enum xkb_state_component mask)
{
- char buf[1024];
+ char buf[1024] = {0};
size_t pos = 0;
if (mask == 0)
@@ -312,13 +312,13 @@ LedStateMaskText(struct xkb_context *ctx, enum xkb_state_component mask)
pos += ret;
}
- return strcpy(xkb_context_get_buffer(ctx, pos + 1), buf);
+ return strncpy(xkb_context_get_buffer(ctx, pos + 1), buf, pos + 1);
}
const char *
ControlMaskText(struct xkb_context *ctx, enum xkb_action_controls mask)
{
- char buf[1024];
+ char buf[1024] = {0};
size_t pos = 0;
if (mask == 0)
@@ -344,5 +344,5 @@ ControlMaskText(struct xkb_context *ctx, enum xkb_action_controls mask)
pos += ret;
}
- return strcpy(xkb_context_get_buffer(ctx, pos + 1), buf);
+ return strncpy(xkb_context_get_buffer(ctx, pos + 1), buf, pos + 1);
}