]> code.citadel.org Git - citadel.git/blobdiff - libcitadel/lib/vcard.c
* use memcpy instead of strcpy, as here we know how many chars to copy.
[citadel.git] / libcitadel / lib / vcard.c
index 05b691668503e494baf339c6e2307c7924b38fad..2c8a7b65f06047ea1a46a9ec6d9297ac06d85364 100644 (file)
@@ -135,10 +135,10 @@ struct vCard *vcard_load(char *vtext) {
                if ((nlpos > colonpos) && (colonpos > 0)) {
                        namebuf = malloc(colonpos + 1);
                        valuebuf = malloc(nlpos - colonpos + 1);
-                       strncpy(namebuf, ptr, colonpos);
-                       namebuf[colonpos] = 0;
-                       strncpy(valuebuf, &ptr[colonpos+1], nlpos-colonpos-1);
-                       valuebuf[nlpos-colonpos-1] = 0;
+                       memcpy(namebuf, ptr, colonpos);
+                       namebuf[colonpos] = '\0';
+                       memcpy(valuebuf, &ptr[colonpos+1], nlpos-colonpos-1);
+                       valuebuf[nlpos-colonpos-1] = '\0';
 
                        if (!strcasecmp(namebuf, "end")) {
                                valid = 0;