Эх сурвалжийг харах

be somewhat stricter about the LIST response syntax

the first token *must* be a list.
Oswald Buddenhagen 12 жил өмнө
parent
commit
6dfccb76a5
1 өөрчлөгдсөн 7 нэмэгдсэн , 7 устгасан
  1. 7 7
      src/drv_imap.c

+ 7 - 7
src/drv_imap.c

@@ -887,16 +887,16 @@ parse_list_rsp( imap_store_t *ctx, list_t *list, char *cmd )
 	char *arg;
 	list_t *lp;
 
-	if (!list) {
+	if (!is_list( list )) {
 		error( "IMAP error: malformed LIST response\n" );
+		free_list( list );
 		return LIST_BAD;
 	}
-	if (list->val == LIST)
-		for (lp = list->child; lp; lp = lp->next)
-			if (is_atom( lp ) && !strcasecmp( lp->val, "\\NoSelect" )) {
-				free_list( list );
-				return LIST_OK;
-			}
+	for (lp = list->child; lp; lp = lp->next)
+		if (is_atom( lp ) && !strcasecmp( lp->val, "\\NoSelect" )) {
+			free_list( list );
+			return LIST_OK;
+		}
 	free_list( list );
 	arg = next_arg( &cmd );
 	if (!ctx->delimiter)