diff libpurple/protocols/zephyr/ZAsyncLocate.c @ 31770:5d442ea707b5

Replace numerous strcpy() invocations with strlcpy() in Zephyr. Thanks to the Electronic Frontier Foundation (http://www.eff.org/) for this patch.
author Ethan Blanton <elb@pidgin.im>
date Sun, 17 Jul 2011 03:57:21 +0000
parents a8cc50c2279f
children 680bd9ef2d8f
line wrap: on
line diff
--- a/libpurple/protocols/zephyr/ZAsyncLocate.c	Sun Jul 17 03:56:39 2011 +0000
+++ b/libpurple/protocols/zephyr/ZAsyncLocate.c	Sun Jul 17 03:57:21 2011 +0000
@@ -45,8 +45,8 @@
 	return(ENOMEM);
     }
     zald->uid = notice.z_multiuid;
-    strcpy(zald->user,user);
-    strcpy(zald->version,notice.z_version);
+    g_strlcpy(zald->user,user,strlen(user)+1);
+    g_strlcpy(zald->version,notice.z_version,strlen(notice.z_version)+1);
 
     return(ZERR_NONE);
 }
@@ -109,21 +109,21 @@
        __locate_list[i].host = (char *) malloc(len);
        if (!__locate_list[i].host)
 	  return (ENOMEM);
-       (void) strcpy(__locate_list[i].host, ptr);
+       g_strlcpy(__locate_list[i].host, ptr,len);
        ptr += len;
 
        len = strlen (ptr) + 1;
        __locate_list[i].time = (char *) malloc(len);
        if (!__locate_list[i].time)
 	  return (ENOMEM);
-       (void) strcpy(__locate_list[i].time, ptr);
+       g_strlcpy(__locate_list[i].time, ptr,len);
        ptr += len;
 
        len = strlen (ptr) + 1;
        __locate_list[i].tty = (char *) malloc(len);
        if (!__locate_list[i].tty)
 	  return (ENOMEM);
-       (void) strcpy(__locate_list[i].tty, ptr);
+       g_strlcpy(__locate_list[i].tty, ptr,len);
        ptr += len;
     }
 
@@ -133,11 +133,11 @@
 	if (zald) {
 	    if ((*user = (char *) malloc(strlen(zald->user)+1)) == NULL)
 		return(ENOMEM);
-	    strcpy(*user,zald->user);
+	    g_strlcpy(*user,zald->user,strlen(zald->user)+1);
 	} else {
 	    if ((*user = (char *) malloc(strlen(notice->z_class_inst)+1)) == NULL)
 		return(ENOMEM);
-	    strcpy(*user,notice->z_class_inst);
+	    g_strlcpy(*user,notice->z_class_inst,strlen(notice->z_class_inst)+1);
 	}
     }
     return (ZERR_NONE);