Переглянути джерело

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 роки тому
батько
коміт
1e939bafd8
2 змінених файлів з 2 додано та 2 видалено
  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) {