summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/sm_genid.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/sm_genid.c b/src/sm_genid.c
index a8161ff..700bbf2 100644
--- a/src/sm_genid.c
+++ b/src/sm_genid.c
@@ -157,7 +157,7 @@ SmsGenerateClientID(SmsConn smsConn)
{
char* inet_addr;
- char temp[4], *ptr1, *ptr2;
+ char *ptr1;
unsigned char decimal[4];
int i, len;
struct in_addr *haddr = NULL;
@@ -204,7 +204,9 @@ SmsGenerateClientID(SmsConn smsConn)
inet_addr = inet_ntoa (*haddr);
for (i = 0, ptr1 = inet_addr; i < 3; i++)
{
- ptr2 = strchr (ptr1, '.');
+ char temp4[4];
+ char *ptr2 = strchr (ptr1, '.');
+
len = ptr2 - ptr1;
if (!ptr2 || len > 3) {
# if defined(IPv6) && defined(AF_INET6)
@@ -212,9 +214,9 @@ SmsGenerateClientID(SmsConn smsConn)
# endif
return (NULL);
}
- strncpy (temp, ptr1, len);
- temp[len] = '\0';
- decimal[i] = atoi (temp);
+ strncpy (temp4, ptr1, len);
+ temp4[len] = '\0';
+ decimal[i] = atoi (temp4);
ptr1 = ptr2 + 1;
}