Просмотр исходного кода

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 лет назад
Родитель
Сommit
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) {