]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fts: Fixed assert-crash if fts-parser was created for a body part that backend didn...
authorTimo Sirainen <tss@iki.fi>
Wed, 18 Mar 2015 11:43:35 +0000 (13:43 +0200)
committerTimo Sirainen <tss@iki.fi>
Wed, 18 Mar 2015 11:43:35 +0000 (13:43 +0200)
src/plugins/fts/fts-build-mail.c

index 02f1d2fb4dd2e5dd4a79137ff62b54abbb91a8ab..a8a09289e93bc71d0b391840735b34172fc3550e 100644 (file)
@@ -184,7 +184,12 @@ fts_build_body_begin(struct fts_mail_build_context *ctx,
        }
        key.body_content_type = content_type;
        key.body_content_disposition = ctx->content_disposition;
-       return fts_backend_update_set_build_key(ctx->update_ctx, &key);
+       if (!fts_backend_update_set_build_key(ctx->update_ctx, &key)) {
+               if (ctx->body_parser != NULL)
+                       (void)fts_parser_deinit(&ctx->body_parser);
+               return FALSE;
+       }
+       return TRUE;
 }
 
 static int fts_build_body_block(struct fts_mail_build_context *ctx,