OpenLDAP 2.2.15 Engineering
Fixed invalid cookie in pagedResults control (ITS#3089)
+ Fixed libldap sasl_encode 64-bit bug (ITS#3054,3212)
+ Fixed libldap_r runqueue
+ Build environments
+ Added default ldapi:// SSF build setting
OpenLDAP 2.2.14 Release
Fixed back-bdb ignore deadlock bug (ITS#3188)
Fixed slapd first component bug (ITS#3118)
Fixed slapd TOLOWER macro use bug (ITS#3115)
Fixed slapd TLS context clash bug (ITS#3109)
- Fixed slapd set acl recursion (ITS#3140)
+ Fixed slapd ACL set recursion (ITS#3140)
Fixed slapd entry2mods normalization bug (ITS#3144,3152)
Fixed slapd extended match memory leak (ITS#3146)
Fixed slapd syncrepl persist interval issue (ITS#3064)
}
/* Decode the packet */
- ret = sasl_decode( p->sasl_context, p->sec_buf_in.buf_base,
- p->sec_buf_in.buf_end,
- (SASL_CONST char **)&p->buf_in.buf_base,
- (unsigned *)&p->buf_in.buf_end );
+ {
+ unsigned tmpsize = p->buf_in.buf_end;
+ ret = sasl_decode( p->sasl_context, p->sec_buf_in.buf_base,
+ p->sec_buf_in.buf_end,
+ (SASL_CONST char **)&p->buf_in.buf_base,
+ (unsigned *)&tmpsize );
+ p->buf_in.buf_end = tmpsize;
+ }
/* Drop the packet from the input buffer */
sb_sasl_drop_packet( &p->sec_buf_in, sbiod->sbiod_sb->sb_debug );
#else
ber_pvt_sb_buf_destroy( &p->buf_out );
#endif
- if ( len > *p->sasl_maxbuf - 100 )
+ if ( len > *p->sasl_maxbuf - 100 ) {
len = *p->sasl_maxbuf - 100; /* For safety margin */
- ret = sasl_encode( p->sasl_context, buf, len,
- (SASL_CONST char **)&p->buf_out.buf_base,
- (unsigned *)&p->buf_out.buf_size );
+ }
+
+ {
+ unsigned tmpsize = p->buf_out.buf_size;
+ ret = sasl_encode( p->sasl_context, buf, len,
+ (SASL_CONST char **)&p->buf_out.buf_base,
+ &tmpsize );
+ p->buf_out.buf_size = tmpsize;
+ }
+
if ( ret != SASL_OK ) {
ber_log_printf( LDAP_DEBUG_ANY, sbiod->sbiod_sb->sb_debug,
"sb_sasl_write: failed to encode packet: %s\n",