diff --git a/src/lib-sieve/util/program-client.c b/src/lib-sieve/util/program-client.c index 7f0d8e26e8c82699db58eb31fff721487725f94c..1b9b2621818ee15ab4abf3d4963ab39d262682d0 100644 --- a/src/lib-sieve/util/program-client.c +++ b/src/lib-sieve/util/program-client.c @@ -48,10 +48,10 @@ static int program_client_close_output(struct program_client *pclient) { int ret; - if ( (ret=pclient->close_output(pclient)) < 0 ) - return -1; if ( pclient->program_output != NULL ) o_stream_destroy(&pclient->program_output); + if ( (ret=pclient->close_output(pclient)) < 0 ) + return -1; pclient->program_output = NULL; return ret;