dovecot-2.2: fts-solr: Crashfixes
dovecot at dovecot.org
dovecot at dovecot.org
Wed May 13 13:56:28 UTC 2015
details: http://hg.dovecot.org/dovecot-2.2/rev/e6e04177374d
changeset: 18677:e6e04177374d
user: Timo Sirainen <tss at iki.fi>
date: Wed May 13 16:54:27 2015 +0300
description:
fts-solr: Crashfixes
diffstat:
src/plugins/fts-solr/fts-backend-solr-old.c | 2 +-
src/plugins/fts-solr/fts-backend-solr.c | 2 +-
src/plugins/fts-solr/solr-connection.c | 10 +++++++---
src/plugins/fts-solr/solr-connection.h | 2 +-
4 files changed, 10 insertions(+), 6 deletions(-)
diffs (64 lines):
diff -r 5483aeb1ce9b -r e6e04177374d src/plugins/fts-solr/fts-backend-solr-old.c
--- a/src/plugins/fts-solr/fts-backend-solr-old.c Wed May 13 16:46:14 2015 +0300
+++ b/src/plugins/fts-solr/fts-backend-solr-old.c Wed May 13 16:54:27 2015 +0300
@@ -433,7 +433,7 @@
solr_connection_post_more(ctx->post, str_data(ctx->cmd),
str_len(ctx->cmd));
- return solr_connection_post_end(ctx->post);
+ return solr_connection_post_end(&ctx->post);
}
static int
diff -r 5483aeb1ce9b -r e6e04177374d src/plugins/fts-solr/fts-backend-solr.c
--- a/src/plugins/fts-solr/fts-backend-solr.c Wed May 13 16:46:14 2015 +0300
+++ b/src/plugins/fts-solr/fts-backend-solr.c Wed May 13 16:54:27 2015 +0300
@@ -339,7 +339,7 @@
solr_connection_post_more(ctx->post, str_data(ctx->cmd),
str_len(ctx->cmd));
- return solr_connection_post_end(ctx->post);
+ return solr_connection_post_end(&ctx->post);
}
static void
diff -r 5483aeb1ce9b -r e6e04177374d src/plugins/fts-solr/solr-connection.c
--- a/src/plugins/fts-solr/solr-connection.c Wed May 13 16:46:14 2015 +0300
+++ b/src/plugins/fts-solr/solr-connection.c Wed May 13 16:54:27 2015 +0300
@@ -497,18 +497,22 @@
if (post->failed)
return;
- if (http_client_request_send_payload(&post->http_req, data, size) != 0 &&
- conn->request_status < 0)
+ if (conn->request_status == 0)
+ (void)http_client_request_send_payload(&post->http_req, data, size);
+ if (conn->request_status < 0)
post->failed = TRUE;
}
-int solr_connection_post_end(struct solr_connection_post *post)
+int solr_connection_post_end(struct solr_connection_post **_post)
{
+ struct solr_connection_post *post = *_post;
struct solr_connection *conn = post->conn;
int ret = post->failed ? -1 : 0;
i_assert(conn->posting);
+ *_post = NULL;
+
if (!post->failed) {
if (http_client_request_finish_payload(&post->http_req) <= 0 ||
conn->request_status < 0) {
diff -r 5483aeb1ce9b -r e6e04177374d src/plugins/fts-solr/solr-connection.h
--- a/src/plugins/fts-solr/solr-connection.h Wed May 13 16:46:14 2015 +0300
+++ b/src/plugins/fts-solr/solr-connection.h Wed May 13 16:54:27 2015 +0300
@@ -25,6 +25,6 @@
solr_connection_post_begin(struct solr_connection *conn);
void solr_connection_post_more(struct solr_connection_post *post,
const unsigned char *data, size_t size);
-int solr_connection_post_end(struct solr_connection_post *post);
+int solr_connection_post_end(struct solr_connection_post **post);
#endif
More information about the dovecot-cvs
mailing list