summaryrefslogtreecommitdiffstats
path: root/reference-ril/reference-ril.c
diff options
context:
space:
mode:
Diffstat (limited to 'reference-ril/reference-ril.c')
-rw-r--r--reference-ril/reference-ril.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/reference-ril/reference-ril.c b/reference-ril/reference-ril.c
index 07482c8..caa5254 100644
--- a/reference-ril/reference-ril.c
+++ b/reference-ril/reference-ril.c
@@ -543,23 +543,27 @@ static void requestOrSendDataCallList(RIL_Token *t)
err = at_tok_nextstr(&line, &out);
if (err < 0)
goto error;
- responses[i].type = alloca(strlen(out) + 1);
- strcpy(responses[i].type, out);
+
+ int type_size = strlen(out) + 1;
+ responses[i].type = alloca(type_size);
+ strlcpy(responses[i].type, out, type_size);
// APN ignored for v5
err = at_tok_nextstr(&line, &out);
if (err < 0)
goto error;
- responses[i].ifname = alloca(strlen(PPP_TTY_PATH) + 1);
- strcpy(responses[i].ifname, PPP_TTY_PATH);
+ int ifname_size = strlen(PPP_TTY_PATH) + 1;
+ responses[i].ifname = alloca(ifname_size);
+ strlcpy(responses[i].ifname, PPP_TTY_PATH, ifname_size);
err = at_tok_nextstr(&line, &out);
if (err < 0)
goto error;
- responses[i].addresses = alloca(strlen(out) + 1);
- strcpy(responses[i].addresses, out);
+ int addresses_size = strlen(out) + 1;
+ responses[i].addresses = alloca(addresses_size);
+ strlcpy(responses[i].addresses, out, addresses_size);
{
char propValue[PROP_VALUE_MAX];