No need to copy buffer
diff --git a/lib/bcrypt/c_src/bcrypt_erlang.c b/lib/bcrypt/c_src/bcrypt_erlang.c
index 4b4d43e..a15bcba 100644
--- a/lib/bcrypt/c_src/bcrypt_erlang.c
+++ b/lib/bcrypt/c_src/bcrypt_erlang.c
@@ -148,7 +148,6 @@
ETERM *pattern, *pwd, *slt;
char *password, *salt;
char *ret = NULL;
- char hashed[200];
pattern = erl_format("{Pass, Salt}");
if (erl_match(pattern, data)) {
pwd = erl_var_content(pattern, "Pass");
@@ -156,13 +155,10 @@
slt = erl_var_content(pattern, "Salt");
salt = erl_iolist_to_string(slt);
if (NULL == (ret = bcrypt(password, salt)) ||
- 0 == strncmp(ret, ":", 1)) {
+ 0 == strcmp(ret, ":")) {
retval = process_reply(pid, CMD_HASHPW, "Invalid salt");
} else {
- int retlen = strlen(ret);
- strncpy(hashed, ret, retlen);
- hashed[retlen] = 0;
- retval = process_reply(pid, CMD_HASHPW, hashed);
+ retval = process_reply(pid, CMD_HASHPW, ret);
}
erl_free_term(pwd);
erl_free_term(slt);