Skip Menu |

This queue is for tickets about the perl-ldap CPAN distribution.

Report information
The Basics
Id: 96203
Status: resolved
Priority: 0/
Queue: perl-ldap

People
Owner: Nobody in particular
Requestors: jplesnik [...] redhat.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: 0.64



Subject: Net::LDAP sets wrong length in _sendmesg
Net::LDAP sets length of string to 15000 (even if string is shorter) for syswrite at function _sendmesg. By default it should work, However, it may cause error in case that the function WRITE was redefined (e.g. Authen-SASL RT#85294) and did not handle this case properly. Would it be possible to change it this way? --- Net/LDAP.pm.orig 2014-06-03 08:52:01.194328356 -0400 +++ Net/LDAP.pm 2014-06-03 08:53:04.561148330 -0400 @@ -801,7 +801,8 @@ sub _sendmesg { my $to_send = \( $mesg->pdu ); my $offset = 0; while($offset < length($$to_send)) { - my $n = syswrite($socket, substr($$to_send, $offset, 15000), 15000) + my $s = substr($$to_send, $offset, 15000); + my $n = syswrite($socket, $s, length($s)) or return _error($ldap, $mesg, LDAP_LOCAL_ERROR,"$!"); $offset += $n; } Thank you, Jitka