* use memcpy instead of strcpy, as here we know how many chars to copy.
authorWilfried Göesgens <willi@citadel.org>
Mon, 26 Jan 2009 17:41:39 +0000 (17:41 +0000)
committerWilfried Göesgens <willi@citadel.org>
Mon, 26 Jan 2009 17:41:39 +0000 (17:41 +0000)
libcitadel/debian/files
libcitadel/lib/vcard.c

index d2ac0561c0b0a03d7eab551e7db9c29484f59207..73fc3064e0412a561172b5a5c47e4c6ec0596e3b 100644 (file)
@@ -1,3 +1,3 @@
-libcitadel1_7.38-8_i386.deb libs optional
-libcitadel1-dbg_7.38-8_i386.deb libdevel optional
-libcitadel-dev_7.38-8_i386.deb libdevel optional
+libcitadel1_7.38-8_amd64.deb libs optional
+libcitadel1-dbg_7.38-8_amd64.deb libdevel optional
+libcitadel-dev_7.38-8_amd64.deb libdevel optional
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;