diff options
author | jsg@openbsd.org <jsg@openbsd.org> | 2020-02-26 13:40:09 +0000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2020-02-28 12:26:28 +1100 |
commit | d5ba1c03278eb079438bb038266d80d7477d49cb (patch) | |
tree | 6d8dd2d802af796bcb7c9d6d018196a448bb9ff6 /ssh-add.c | |
parent | 9e3220b585c5be19a7431ea4ff8884c137b3a81c (diff) |
upstream: change explicit_bzero();free() to freezero()
While freezero() returns early if the pointer is NULL the tests for
NULL in callers are left to avoid warnings about passing an
uninitialised size argument across a function boundry.
ok deraadt@ djm@
OpenBSD-Commit-ID: 2660fa334fcc7cd05ec74dd99cb036f9ade6384a
Diffstat (limited to 'ssh-add.c')
-rw-r--r-- | ssh-add.c | 11 |
1 files changed, 4 insertions, 7 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-add.c,v 1.153 2020/02/18 08:58:33 dtucker Exp $ */ | 1 | /* $OpenBSD: ssh-add.c,v 1.154 2020/02/26 13:40:09 jsg Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -105,8 +105,7 @@ static void | |||
105 | clear_pass(void) | 105 | clear_pass(void) |
106 | { | 106 | { |
107 | if (pass) { | 107 | if (pass) { |
108 | explicit_bzero(pass, strlen(pass)); | 108 | freezero(pass, strlen(pass)); |
109 | free(pass); | ||
110 | pass = NULL; | 109 | pass = NULL; |
111 | } | 110 | } |
112 | } | 111 | } |
@@ -521,8 +520,7 @@ lock_agent(int agent_fd, int lock) | |||
521 | fprintf(stderr, "Passwords do not match.\n"); | 520 | fprintf(stderr, "Passwords do not match.\n"); |
522 | passok = 0; | 521 | passok = 0; |
523 | } | 522 | } |
524 | explicit_bzero(p2, strlen(p2)); | 523 | freezero(p2, strlen(p2)); |
525 | free(p2); | ||
526 | } | 524 | } |
527 | if (passok) { | 525 | if (passok) { |
528 | if ((r = ssh_lock_agent(agent_fd, lock, p1)) == 0) { | 526 | if ((r = ssh_lock_agent(agent_fd, lock, p1)) == 0) { |
@@ -533,8 +531,7 @@ lock_agent(int agent_fd, int lock) | |||
533 | lock ? "" : "un", ssh_err(r)); | 531 | lock ? "" : "un", ssh_err(r)); |
534 | } | 532 | } |
535 | } | 533 | } |
536 | explicit_bzero(p1, strlen(p1)); | 534 | freezero(p1, strlen(p1)); |
537 | free(p1); | ||
538 | return (ret); | 535 | return (ret); |
539 | } | 536 | } |
540 | 537 | ||