diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2012-10-08 22:12:40 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2012-10-12 14:45:54 +0200 |
commit | 46f22576b0f3e076ae20e6981c01bb1f0f4ae9c9 (patch) | |
tree | 84424647c802a6919dee2ac21e3eee647c14f0c3 | |
parent | 2f8ddc6e653b76668c155ade0f90a347857486e2 (diff) | |
download | libssh-46f22576b0f3e076ae20e6981c01bb1f0f4ae9c9.tar.gz libssh-46f22576b0f3e076ae20e6981c01bb1f0f4ae9c9.tar.xz libssh-46f22576b0f3e076ae20e6981c01bb1f0f4ae9c9.zip |
legacy: Use snprintf instead of sprintf.
Found by Coverity.
-rw-r--r-- | src/legacy.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/legacy.c b/src/legacy.c index ba04c79d..6ad4fdc2 100644 --- a/src/legacy.c +++ b/src/legacy.c @@ -106,16 +106,17 @@ int ssh_userauth_privatekey_file(ssh_session session, ssh_private_key privkey = NULL; int type = 0; int rc = SSH_AUTH_ERROR; + size_t klen = strlen(filename) + 4 + 1; enter_function(); - pubkeyfile = malloc(strlen(filename) + 1 + 4); + pubkeyfile = malloc(klen); if (pubkeyfile == NULL) { ssh_set_error_oom(session); leave_function(); return SSH_AUTH_ERROR; } - sprintf(pubkeyfile, "%s.pub", filename); + snprintf(pubkeyfile, klen, "%s.pub", filename); pubkey = publickey_from_file(session, pubkeyfile, &type); if (pubkey == NULL) { |