Hans Leidekker (@hans) commented about libs/ldap/libldap/sasl_w.c:
if (!check_callback( prompt, SASL_CB_AUTHNAME ) || !check_callback( prompt, SASL_CB_GETREALM ) || !check_callback( prompt, SASL_CB_PASS )) return SASL_BADPARAM; if (!(conn = calloc( 1, sizeof(*conn) ))) return SASL_NOMEM;
- if (!(conn->servername = strdup( server )))
- len = strlen( service ) + strlen( server ) + 2 /* '/' + '\0' */;
- if (!(conn->target = malloc( len ))) { free( conn ); return SASL_NOMEM; }
- strcpy( conn->target, service );
- strcat( conn->target, "/" );
- strcat( conn->target, server );
What if service is empty? It's not relevant for NTLM.