Bladeren bron

don't use strncpy() to copy TUIDs

latest since 77acc268, the code prior to these statements ensures that
the full length is available, so just use memcpy(). the code for
comparing TUIDs uses memcmp() anyway.
Oswald Buddenhagen 8 jaren geleden
bovenliggende
commit
1e939bafd8
2 gewijzigde bestanden met toevoegingen van 2 en 2 verwijderingen
  1. 1 1
      src/drv_imap.c
  2. 1 1
      src/drv_maildir.c

+ 1 - 1
src/drv_imap.c

@@ -1060,7 +1060,7 @@ parse_fetch_rsp( imap_store_t *ctx, list_t *list, char *s ATTR_UNUSED )
 		cur->gen.srec = 0;
 		cur->gen.msgid = msgid;
 		if (tuid)
-			strncpy( cur->gen.tuid, tuid, TUIDL );
+			memcpy( cur->gen.tuid, tuid, TUIDL );
 		else
 			cur->gen.tuid[0] = 0;
 		if (ctx->gen.uidnext <= uid) /* in case the server sends no UIDNEXT */

+ 1 - 1
src/drv_maildir.c

@@ -1132,7 +1132,7 @@ maildir_init_msg( maildir_store_t *ctx, maildir_message_t *msg, msg_t *entry )
 	entry->msgid = 0; /* prevent deletion */
 	msg->gen.size = entry->size;
 	msg->gen.srec = 0;
-	strncpy( msg->gen.tuid, entry->tuid, TUIDL );
+	memcpy( msg->gen.tuid, entry->tuid, TUIDL );
 	if (entry->recent)
 		msg->gen.status |= M_RECENT;
 	if (ctx->gen.opts & OPEN_FLAGS) {