--- /dev/null
+diff -up Authen-SASL-2.16/lib/Authen/SASL/Perl.pm.orig Authen-SASL-2.16/lib/Authen/SASL/Perl.pm
+--- Authen-SASL-2.16/lib/Authen/SASL/Perl.pm.orig 2012-09-04 18:00:31.000000000 +0200
++++ Authen-SASL-2.16/lib/Authen/SASL/Perl.pm 2014-06-04 09:51:34.654310724 +0200
+@@ -323,6 +323,9 @@ sub securesocket {
+
+ my $fh = $self->{fh};
+
++ # Fix for BZ#965739, RT#85294
++ $len = length($_[1]) if $len > length($_[1]);
++
+ # put on wire in peer-sized chunks
+ my $bsz = $self->{sndbufsz};
+ while ($len > 0) {