diff options
author | Harald Welte <laforge@gnumonks.org> | 2018-08-11 14:15:09 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2018-08-11 16:10:31 +0200 |
commit | d4fb4fdea097f0fd1e9f2cd72d0d8a30c91f48bf (patch) | |
tree | 2a76d28f1dfc3ad338cec98d08c66fd1cf826b61 /src/host/layer23/src/mobile/gsm480_ss.c | |
parent | 1d68468636e789555bee99e1d040b0648d1f02c3 (diff) |
layer23: Replace all instances of strncpy() by osmo_strlcpy
This gives us working/safe zero termination without overflowing
the destination string size.
Change-Id: Ica6098ceba2bd01ce3b216085442cc5eed0ca507
Diffstat (limited to 'src/host/layer23/src/mobile/gsm480_ss.c')
-rw-r--r-- | src/host/layer23/src/mobile/gsm480_ss.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/host/layer23/src/mobile/gsm480_ss.c b/src/host/layer23/src/mobile/gsm480_ss.c index ee2c9439..2869ce6f 100644 --- a/src/host/layer23/src/mobile/gsm480_ss.c +++ b/src/host/layer23/src/mobile/gsm480_ss.c @@ -200,8 +200,7 @@ static int gsm480_ss_result(struct osmocom_ms *ms, const char *response, if (response) { char text[256], *t = text, *s; - strncpy(text, response, sizeof(text) - 1); - text[sizeof(text) - 1] = '\0'; + OSMO_STRLCPY_ARRAY(text, response); while ((s = strchr(text, '\r'))) *s = '\n'; while ((s = strsep(&t, "\n"))) { @@ -655,9 +654,7 @@ int ss_send(struct osmocom_ms *ms, const char *code, int new_trans) /* register */ if (ss_code && to && to[0] == '*') { - strncpy(dest, to + 1, sizeof(dest) - 1); - dest[sizeof(dest) - 1] = '\0'; - dest[strlen(dest) - 1] = '\0'; + OSMO_STRLCPY_ARRAY(dest, to + 1); return gsm480_tx_cf(trans, GSM0480_MTYPE_REGISTER, GSM0480_OP_CODE_REGISTER_SS, ss_code, dest); } |