- char * bytes_v = NULL;
- size_t len_v;
- getSRPVerifier(name, password, salt, &salt_len,
- &bytes_v, &len_v);
- std::string ret_val = encodeSRPVerifier(std::string(bytes_v, len_v),
- std::string(*salt, salt_len));
+ size_t salt_len = salt.size();
+ // The API promises us that the salt doesn't
+ // get modified if &salt_ptr isn't NULL.
+ char *salt_ptr = (char *)salt.c_str();
+
+ char *bytes_v = nullptr;
+ size_t verifier_len = 0;
+ gen_srp_v(name, password, &salt_ptr, &salt_len, &bytes_v, &verifier_len);
+ std::string verifier = std::string(bytes_v, verifier_len);