diff options
author | Darren Tucker <dtucker@zip.com.au> | 2013-06-02 08:07:31 +1000 |
---|---|---|
committer | Darren Tucker <dtucker@zip.com.au> | 2013-06-02 08:07:31 +1000 |
commit | f60845fde29cead9d75e812db1c04916b4c58ffd (patch) | |
tree | a69fe76f6dd73057e46625867d1b4282e8a5a040 | |
parent | 12f6533215c0a36ab29d11ff52a853fce45573b4 (diff) |
- (dtucker) [M auth-chall.c auth-krb5.c auth-pam.c cipher-aes.c cipher-ctr.c
groupaccess.c loginrec.c monitor.c monitor_wrap.c session.c sshd.c
sshlogin.c uidswap.c openbsd-compat/bsd-cygwin_util.c
openbsd-compat/getrrsetbyname-ldns.c openbsd-compat/port-aix.c
openbsd-compat/port-linux.c] Replace portable-specific instances of xfree
with the equivalent calls to free.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | auth-chall.c | 10 | ||||
-rw-r--r-- | auth-krb5.c | 3 | ||||
-rw-r--r-- | auth-pam.c | 44 | ||||
-rw-r--r-- | cipher-aes.c | 2 | ||||
-rw-r--r-- | cipher-ctr.c | 2 | ||||
-rw-r--r-- | groupaccess.c | 4 | ||||
-rw-r--r-- | loginrec.c | 2 | ||||
-rw-r--r-- | monitor.c | 20 | ||||
-rw-r--r-- | monitor_wrap.c | 4 | ||||
-rw-r--r-- | openbsd-compat/bsd-cygwin_util.c | 2 | ||||
-rw-r--r-- | openbsd-compat/getrrsetbyname-ldns.c | 1 | ||||
-rw-r--r-- | openbsd-compat/port-aix.c | 10 | ||||
-rw-r--r-- | openbsd-compat/port-linux.c | 12 | ||||
-rw-r--r-- | session.c | 8 | ||||
-rw-r--r-- | sshd.c | 2 | ||||
-rw-r--r-- | sshlogin.c | 2 | ||||
-rw-r--r-- | uidswap.c | 6 |
18 files changed, 66 insertions, 74 deletions
@@ -48,6 +48,12 @@ | |||
48 | [scp.c sftp-client.c] | 48 | [scp.c sftp-client.c] |
49 | Replace S_IWRITE, which isn't standardized, with S_IWUSR, which is. Patch | 49 | Replace S_IWRITE, which isn't standardized, with S_IWUSR, which is. Patch |
50 | from Nathan Osman via bz#2085. ok deraadt. | 50 | from Nathan Osman via bz#2085. ok deraadt. |
51 | - (dtucker) [M auth-chall.c auth-krb5.c auth-pam.c cipher-aes.c cipher-ctr.c | ||
52 | groupaccess.c loginrec.c monitor.c monitor_wrap.c session.c sshd.c | ||
53 | sshlogin.c uidswap.c openbsd-compat/bsd-cygwin_util.c | ||
54 | openbsd-compat/getrrsetbyname-ldns.c openbsd-compat/port-aix.c | ||
55 | openbsd-compat/port-linux.c] Replace portable-specific instances of xfree | ||
56 | with the equivalent calls to free. | ||
51 | 57 | ||
52 | 20130529 | 58 | 20130529 |
53 | - (dtucker) [configure.ac openbsd-compat/bsd-misc.h] bz#2087: Add a null | 59 | - (dtucker) [configure.ac openbsd-compat/bsd-misc.h] bz#2087: Add a null |
diff --git a/auth-chall.c b/auth-chall.c index bfc51eae6..0005aa88b 100644 --- a/auth-chall.c +++ b/auth-chall.c | |||
@@ -102,11 +102,11 @@ verify_response(Authctxt *authctxt, const char *response) | |||
102 | authenticated = 1; | 102 | authenticated = 1; |
103 | 103 | ||
104 | for (i = 0; i < numprompts; i++) | 104 | for (i = 0; i < numprompts; i++) |
105 | xfree(prompts[i]); | 105 | free(prompts[i]); |
106 | xfree(prompts); | 106 | free(prompts); |
107 | xfree(name); | 107 | free(name); |
108 | xfree(echo_on); | 108 | free(echo_on); |
109 | xfree(info); | 109 | free(info); |
110 | break; | 110 | break; |
111 | } | 111 | } |
112 | device->free_ctx(authctxt->kbdintctxt); | 112 | device->free_ctx(authctxt->kbdintctxt); |
diff --git a/auth-krb5.c b/auth-krb5.c index 922c66c66..ff1462ad1 100644 --- a/auth-krb5.c +++ b/auth-krb5.c | |||
@@ -181,8 +181,7 @@ auth_krb5_password(Authctxt *authctxt, const char *password) | |||
181 | out: | 181 | out: |
182 | restore_uid(); | 182 | restore_uid(); |
183 | 183 | ||
184 | if (platform_client != NULL) | 184 | free(platform_client); |
185 | xfree(platform_client); | ||
186 | 185 | ||
187 | if (problem) { | 186 | if (problem) { |
188 | if (ccache) | 187 | if (ccache) |
diff --git a/auth-pam.c b/auth-pam.c index 675006e6f..d51318b3a 100644 --- a/auth-pam.c +++ b/auth-pam.c | |||
@@ -412,10 +412,9 @@ sshpam_thread_conv(int n, sshpam_const struct pam_message **msg, | |||
412 | 412 | ||
413 | fail: | 413 | fail: |
414 | for(i = 0; i < n; i++) { | 414 | for(i = 0; i < n; i++) { |
415 | if (reply[i].resp != NULL) | 415 | free(reply[i].resp); |
416 | xfree(reply[i].resp); | ||
417 | } | 416 | } |
418 | xfree(reply); | 417 | free(reply); |
419 | buffer_free(&buffer); | 418 | buffer_free(&buffer); |
420 | return (PAM_CONV_ERR); | 419 | return (PAM_CONV_ERR); |
421 | } | 420 | } |
@@ -586,10 +585,9 @@ sshpam_store_conv(int n, sshpam_const struct pam_message **msg, | |||
586 | 585 | ||
587 | fail: | 586 | fail: |
588 | for(i = 0; i < n; i++) { | 587 | for(i = 0; i < n; i++) { |
589 | if (reply[i].resp != NULL) | 588 | free(reply[i].resp); |
590 | xfree(reply[i].resp); | ||
591 | } | 589 | } |
592 | xfree(reply); | 590 | free(reply); |
593 | return (PAM_CONV_ERR); | 591 | return (PAM_CONV_ERR); |
594 | } | 592 | } |
595 | 593 | ||
@@ -693,7 +691,7 @@ sshpam_init_ctx(Authctxt *authctxt) | |||
693 | /* Start the authentication thread */ | 691 | /* Start the authentication thread */ |
694 | if (socketpair(AF_UNIX, SOCK_STREAM, PF_UNSPEC, socks) == -1) { | 692 | if (socketpair(AF_UNIX, SOCK_STREAM, PF_UNSPEC, socks) == -1) { |
695 | error("PAM: failed create sockets: %s", strerror(errno)); | 693 | error("PAM: failed create sockets: %s", strerror(errno)); |
696 | xfree(ctxt); | 694 | free(ctxt); |
697 | return (NULL); | 695 | return (NULL); |
698 | } | 696 | } |
699 | ctxt->pam_psock = socks[0]; | 697 | ctxt->pam_psock = socks[0]; |
@@ -703,7 +701,7 @@ sshpam_init_ctx(Authctxt *authctxt) | |||
703 | strerror(errno)); | 701 | strerror(errno)); |
704 | close(socks[0]); | 702 | close(socks[0]); |
705 | close(socks[1]); | 703 | close(socks[1]); |
706 | xfree(ctxt); | 704 | free(ctxt); |
707 | return (NULL); | 705 | return (NULL); |
708 | } | 706 | } |
709 | cleanup_ctxt = ctxt; | 707 | cleanup_ctxt = ctxt; |
@@ -742,7 +740,7 @@ sshpam_query(void *ctx, char **name, char **info, | |||
742 | strlcpy(**prompts + plen, msg, len - plen); | 740 | strlcpy(**prompts + plen, msg, len - plen); |
743 | plen += mlen; | 741 | plen += mlen; |
744 | **echo_on = (type == PAM_PROMPT_ECHO_ON); | 742 | **echo_on = (type == PAM_PROMPT_ECHO_ON); |
745 | xfree(msg); | 743 | free(msg); |
746 | return (0); | 744 | return (0); |
747 | case PAM_ERROR_MSG: | 745 | case PAM_ERROR_MSG: |
748 | case PAM_TEXT_INFO: | 746 | case PAM_TEXT_INFO: |
@@ -753,7 +751,7 @@ sshpam_query(void *ctx, char **name, char **info, | |||
753 | plen += mlen; | 751 | plen += mlen; |
754 | strlcat(**prompts + plen, "\n", len - plen); | 752 | strlcat(**prompts + plen, "\n", len - plen); |
755 | plen++; | 753 | plen++; |
756 | xfree(msg); | 754 | free(msg); |
757 | break; | 755 | break; |
758 | case PAM_ACCT_EXPIRED: | 756 | case PAM_ACCT_EXPIRED: |
759 | sshpam_account_status = 0; | 757 | sshpam_account_status = 0; |
@@ -766,7 +764,7 @@ sshpam_query(void *ctx, char **name, char **info, | |||
766 | *num = 0; | 764 | *num = 0; |
767 | **echo_on = 0; | 765 | **echo_on = 0; |
768 | ctxt->pam_done = -1; | 766 | ctxt->pam_done = -1; |
769 | xfree(msg); | 767 | free(msg); |
770 | return 0; | 768 | return 0; |
771 | } | 769 | } |
772 | /* FALLTHROUGH */ | 770 | /* FALLTHROUGH */ |
@@ -776,7 +774,7 @@ sshpam_query(void *ctx, char **name, char **info, | |||
776 | debug("PAM: %s", **prompts); | 774 | debug("PAM: %s", **prompts); |
777 | buffer_append(&loginmsg, **prompts, | 775 | buffer_append(&loginmsg, **prompts, |
778 | strlen(**prompts)); | 776 | strlen(**prompts)); |
779 | xfree(**prompts); | 777 | free(**prompts); |
780 | **prompts = NULL; | 778 | **prompts = NULL; |
781 | } | 779 | } |
782 | if (type == PAM_SUCCESS) { | 780 | if (type == PAM_SUCCESS) { |
@@ -790,7 +788,7 @@ sshpam_query(void *ctx, char **name, char **info, | |||
790 | *num = 0; | 788 | *num = 0; |
791 | **echo_on = 0; | 789 | **echo_on = 0; |
792 | ctxt->pam_done = 1; | 790 | ctxt->pam_done = 1; |
793 | xfree(msg); | 791 | free(msg); |
794 | return (0); | 792 | return (0); |
795 | } | 793 | } |
796 | error("PAM: %s for %s%.100s from %.100s", msg, | 794 | error("PAM: %s for %s%.100s from %.100s", msg, |
@@ -801,7 +799,7 @@ sshpam_query(void *ctx, char **name, char **info, | |||
801 | default: | 799 | default: |
802 | *num = 0; | 800 | *num = 0; |
803 | **echo_on = 0; | 801 | **echo_on = 0; |
804 | xfree(msg); | 802 | free(msg); |
805 | ctxt->pam_done = -1; | 803 | ctxt->pam_done = -1; |
806 | return (-1); | 804 | return (-1); |
807 | } | 805 | } |
@@ -852,7 +850,7 @@ sshpam_free_ctx(void *ctxtp) | |||
852 | 850 | ||
853 | debug3("PAM: %s entering", __func__); | 851 | debug3("PAM: %s entering", __func__); |
854 | sshpam_thread_cleanup(); | 852 | sshpam_thread_cleanup(); |
855 | xfree(ctxt); | 853 | free(ctxt); |
856 | /* | 854 | /* |
857 | * We don't call sshpam_cleanup() here because we may need the PAM | 855 | * We don't call sshpam_cleanup() here because we may need the PAM |
858 | * handle at a later stage, e.g. when setting up a session. It's | 856 | * handle at a later stage, e.g. when setting up a session. It's |
@@ -1006,10 +1004,9 @@ sshpam_tty_conv(int n, sshpam_const struct pam_message **msg, | |||
1006 | 1004 | ||
1007 | fail: | 1005 | fail: |
1008 | for(i = 0; i < n; i++) { | 1006 | for(i = 0; i < n; i++) { |
1009 | if (reply[i].resp != NULL) | 1007 | free(reply[i].resp); |
1010 | xfree(reply[i].resp); | ||
1011 | } | 1008 | } |
1012 | xfree(reply); | 1009 | free(reply); |
1013 | return (PAM_CONV_ERR); | 1010 | return (PAM_CONV_ERR); |
1014 | } | 1011 | } |
1015 | 1012 | ||
@@ -1081,7 +1078,7 @@ do_pam_putenv(char *name, char *value) | |||
1081 | 1078 | ||
1082 | snprintf(compound, len, "%s=%s", name, value); | 1079 | snprintf(compound, len, "%s=%s", name, value); |
1083 | ret = pam_putenv(sshpam_handle, compound); | 1080 | ret = pam_putenv(sshpam_handle, compound); |
1084 | xfree(compound); | 1081 | free(compound); |
1085 | #endif | 1082 | #endif |
1086 | 1083 | ||
1087 | return (ret); | 1084 | return (ret); |
@@ -1108,8 +1105,8 @@ free_pam_environment(char **env) | |||
1108 | return; | 1105 | return; |
1109 | 1106 | ||
1110 | for (envp = env; *envp; envp++) | 1107 | for (envp = env; *envp; envp++) |
1111 | xfree(*envp); | 1108 | free(*envp); |
1112 | xfree(env); | 1109 | free(env); |
1113 | } | 1110 | } |
1114 | 1111 | ||
1115 | /* | 1112 | /* |
@@ -1165,10 +1162,9 @@ sshpam_passwd_conv(int n, sshpam_const struct pam_message **msg, | |||
1165 | 1162 | ||
1166 | fail: | 1163 | fail: |
1167 | for(i = 0; i < n; i++) { | 1164 | for(i = 0; i < n; i++) { |
1168 | if (reply[i].resp != NULL) | 1165 | free(reply[i].resp); |
1169 | xfree(reply[i].resp); | ||
1170 | } | 1166 | } |
1171 | xfree(reply); | 1167 | free(reply); |
1172 | return (PAM_CONV_ERR); | 1168 | return (PAM_CONV_ERR); |
1173 | } | 1169 | } |
1174 | 1170 | ||
diff --git a/cipher-aes.c b/cipher-aes.c index 07ec7aa5d..8b1017272 100644 --- a/cipher-aes.c +++ b/cipher-aes.c | |||
@@ -120,7 +120,7 @@ ssh_rijndael_cleanup(EVP_CIPHER_CTX *ctx) | |||
120 | 120 | ||
121 | if ((c = EVP_CIPHER_CTX_get_app_data(ctx)) != NULL) { | 121 | if ((c = EVP_CIPHER_CTX_get_app_data(ctx)) != NULL) { |
122 | memset(c, 0, sizeof(*c)); | 122 | memset(c, 0, sizeof(*c)); |
123 | xfree(c); | 123 | free(c); |
124 | EVP_CIPHER_CTX_set_app_data(ctx, NULL); | 124 | EVP_CIPHER_CTX_set_app_data(ctx, NULL); |
125 | } | 125 | } |
126 | return (1); | 126 | return (1); |
diff --git a/cipher-ctr.c b/cipher-ctr.c index d1fe69f57..ea0f9b3b7 100644 --- a/cipher-ctr.c +++ b/cipher-ctr.c | |||
@@ -104,7 +104,7 @@ ssh_aes_ctr_cleanup(EVP_CIPHER_CTX *ctx) | |||
104 | 104 | ||
105 | if ((c = EVP_CIPHER_CTX_get_app_data(ctx)) != NULL) { | 105 | if ((c = EVP_CIPHER_CTX_get_app_data(ctx)) != NULL) { |
106 | memset(c, 0, sizeof(*c)); | 106 | memset(c, 0, sizeof(*c)); |
107 | xfree(c); | 107 | free(c); |
108 | EVP_CIPHER_CTX_set_app_data(ctx, NULL); | 108 | EVP_CIPHER_CTX_set_app_data(ctx, NULL); |
109 | } | 109 | } |
110 | return (1); | 110 | return (1); |
diff --git a/groupaccess.c b/groupaccess.c index 020deace7..1eab10b19 100644 --- a/groupaccess.c +++ b/groupaccess.c | |||
@@ -69,7 +69,7 @@ ga_init(const char *user, gid_t base) | |||
69 | for (i = 0, j = 0; i < ngroups; i++) | 69 | for (i = 0, j = 0; i < ngroups; i++) |
70 | if ((gr = getgrgid(groups_bygid[i])) != NULL) | 70 | if ((gr = getgrgid(groups_bygid[i])) != NULL) |
71 | groups_byname[j++] = xstrdup(gr->gr_name); | 71 | groups_byname[j++] = xstrdup(gr->gr_name); |
72 | xfree(groups_bygid); | 72 | free(groups_bygid); |
73 | return (ngroups = j); | 73 | return (ngroups = j); |
74 | } | 74 | } |
75 | 75 | ||
@@ -125,6 +125,6 @@ ga_free(void) | |||
125 | for (i = 0; i < ngroups; i++) | 125 | for (i = 0; i < ngroups; i++) |
126 | free(groups_byname[i]); | 126 | free(groups_byname[i]); |
127 | ngroups = 0; | 127 | ngroups = 0; |
128 | xfree(groups_byname); | 128 | free(groups_byname); |
129 | } | 129 | } |
130 | } | 130 | } |
diff --git a/loginrec.c b/loginrec.c index f9662fa5c..59e8a44ee 100644 --- a/loginrec.c +++ b/loginrec.c | |||
@@ -347,7 +347,7 @@ logininfo *login_alloc_entry(pid_t pid, const char *username, | |||
347 | void | 347 | void |
348 | login_free_entry(struct logininfo *li) | 348 | login_free_entry(struct logininfo *li) |
349 | { | 349 | { |
350 | xfree(li); | 350 | free(li); |
351 | } | 351 | } |
352 | 352 | ||
353 | 353 | ||
@@ -988,7 +988,7 @@ mm_answer_skeyrespond(int sock, Buffer *m) | |||
988 | skey_haskey(authctxt->pw->pw_name) == 0 && | 988 | skey_haskey(authctxt->pw->pw_name) == 0 && |
989 | skey_passcheck(authctxt->pw->pw_name, response) != -1); | 989 | skey_passcheck(authctxt->pw->pw_name, response) != -1); |
990 | 990 | ||
991 | xfree(response); | 991 | free(response); |
992 | 992 | ||
993 | buffer_clear(m); | 993 | buffer_clear(m); |
994 | buffer_put_int(m, authok); | 994 | buffer_put_int(m, authok); |
@@ -1073,19 +1073,17 @@ mm_answer_pam_query(int sock, Buffer *m) | |||
1073 | buffer_clear(m); | 1073 | buffer_clear(m); |
1074 | buffer_put_int(m, ret); | 1074 | buffer_put_int(m, ret); |
1075 | buffer_put_cstring(m, name); | 1075 | buffer_put_cstring(m, name); |
1076 | xfree(name); | 1076 | free(name); |
1077 | buffer_put_cstring(m, info); | 1077 | buffer_put_cstring(m, info); |
1078 | xfree(info); | 1078 | free(info); |
1079 | buffer_put_int(m, num); | 1079 | buffer_put_int(m, num); |
1080 | for (i = 0; i < num; ++i) { | 1080 | for (i = 0; i < num; ++i) { |
1081 | buffer_put_cstring(m, prompts[i]); | 1081 | buffer_put_cstring(m, prompts[i]); |
1082 | xfree(prompts[i]); | 1082 | free(prompts[i]); |
1083 | buffer_put_int(m, echo_on[i]); | 1083 | buffer_put_int(m, echo_on[i]); |
1084 | } | 1084 | } |
1085 | if (prompts != NULL) | 1085 | free(prompts); |
1086 | xfree(prompts); | 1086 | free(echo_on); |
1087 | if (echo_on != NULL) | ||
1088 | xfree(echo_on); | ||
1089 | auth_method = "keyboard-interactive"; | 1087 | auth_method = "keyboard-interactive"; |
1090 | auth_submethod = "pam"; | 1088 | auth_submethod = "pam"; |
1091 | mm_request_send(sock, MONITOR_ANS_PAM_QUERY, m); | 1089 | mm_request_send(sock, MONITOR_ANS_PAM_QUERY, m); |
@@ -1108,8 +1106,8 @@ mm_answer_pam_respond(int sock, Buffer *m) | |||
1108 | resp[i] = buffer_get_string(m, NULL); | 1106 | resp[i] = buffer_get_string(m, NULL); |
1109 | ret = (sshpam_device.respond)(sshpam_ctxt, num, resp); | 1107 | ret = (sshpam_device.respond)(sshpam_ctxt, num, resp); |
1110 | for (i = 0; i < num; ++i) | 1108 | for (i = 0; i < num; ++i) |
1111 | xfree(resp[i]); | 1109 | free(resp[i]); |
1112 | xfree(resp); | 1110 | free(resp); |
1113 | } else { | 1111 | } else { |
1114 | ret = (sshpam_device.respond)(sshpam_ctxt, num, NULL); | 1112 | ret = (sshpam_device.respond)(sshpam_ctxt, num, NULL); |
1115 | } | 1113 | } |
@@ -1764,7 +1762,7 @@ mm_answer_audit_command(int socket, Buffer *m) | |||
1764 | cmd = buffer_get_string(m, &len); | 1762 | cmd = buffer_get_string(m, &len); |
1765 | /* sanity check command, if so how? */ | 1763 | /* sanity check command, if so how? */ |
1766 | audit_run_command(cmd); | 1764 | audit_run_command(cmd); |
1767 | xfree(cmd); | 1765 | free(cmd); |
1768 | return (0); | 1766 | return (0); |
1769 | } | 1767 | } |
1770 | #endif /* SSH_AUDIT_EVENTS */ | 1768 | #endif /* SSH_AUDIT_EVENTS */ |
diff --git a/monitor_wrap.c b/monitor_wrap.c index b1870fcba..88ff68330 100644 --- a/monitor_wrap.c +++ b/monitor_wrap.c | |||
@@ -805,7 +805,7 @@ mm_do_pam_account(void) | |||
805 | ret = buffer_get_int(&m); | 805 | ret = buffer_get_int(&m); |
806 | msg = buffer_get_string(&m, NULL); | 806 | msg = buffer_get_string(&m, NULL); |
807 | buffer_append(&loginmsg, msg, strlen(msg)); | 807 | buffer_append(&loginmsg, msg, strlen(msg)); |
808 | xfree(msg); | 808 | free(msg); |
809 | 809 | ||
810 | buffer_free(&m); | 810 | buffer_free(&m); |
811 | 811 | ||
@@ -1035,7 +1035,7 @@ mm_skey_query(void *ctx, char **name, char **infotxt, | |||
1035 | mm_chall_setup(name, infotxt, numprompts, prompts, echo_on); | 1035 | mm_chall_setup(name, infotxt, numprompts, prompts, echo_on); |
1036 | 1036 | ||
1037 | xasprintf(*prompts, "%s%s", challenge, SKEY_PROMPT); | 1037 | xasprintf(*prompts, "%s%s", challenge, SKEY_PROMPT); |
1038 | xfree(challenge); | 1038 | free(challenge); |
1039 | 1039 | ||
1040 | return (0); | 1040 | return (0); |
1041 | } | 1041 | } |
diff --git a/openbsd-compat/bsd-cygwin_util.c b/openbsd-compat/bsd-cygwin_util.c index d3d2d913a..267e77a11 100644 --- a/openbsd-compat/bsd-cygwin_util.c +++ b/openbsd-compat/bsd-cygwin_util.c | |||
@@ -97,7 +97,7 @@ fetch_windows_environment(void) | |||
97 | void | 97 | void |
98 | free_windows_environment(char **p) | 98 | free_windows_environment(char **p) |
99 | { | 99 | { |
100 | xfree(p); | 100 | free(p); |
101 | } | 101 | } |
102 | 102 | ||
103 | #endif /* HAVE_CYGWIN */ | 103 | #endif /* HAVE_CYGWIN */ |
diff --git a/openbsd-compat/getrrsetbyname-ldns.c b/openbsd-compat/getrrsetbyname-ldns.c index 19666346b..343720f10 100644 --- a/openbsd-compat/getrrsetbyname-ldns.c +++ b/openbsd-compat/getrrsetbyname-ldns.c | |||
@@ -58,7 +58,6 @@ | |||
58 | 58 | ||
59 | #define malloc(x) (xmalloc(x)) | 59 | #define malloc(x) (xmalloc(x)) |
60 | #define calloc(x, y) (xcalloc((x),(y))) | 60 | #define calloc(x, y) (xcalloc((x),(y))) |
61 | #define free(x) (xfree(x)) | ||
62 | 61 | ||
63 | int | 62 | int |
64 | getrrsetbyname(const char *hostname, unsigned int rdclass, | 63 | getrrsetbyname(const char *hostname, unsigned int rdclass, |
diff --git a/openbsd-compat/port-aix.c b/openbsd-compat/port-aix.c index 0bdefbf6d..8da367d48 100644 --- a/openbsd-compat/port-aix.c +++ b/openbsd-compat/port-aix.c | |||
@@ -86,7 +86,7 @@ aix_usrinfo(struct passwd *pw) | |||
86 | fatal("Couldn't set usrinfo: %s", strerror(errno)); | 86 | fatal("Couldn't set usrinfo: %s", strerror(errno)); |
87 | debug3("AIX/UsrInfo: set len %d", i); | 87 | debug3("AIX/UsrInfo: set len %d", i); |
88 | 88 | ||
89 | xfree(cp); | 89 | free(cp); |
90 | } | 90 | } |
91 | 91 | ||
92 | # ifdef WITH_AIXAUTHENTICATE | 92 | # ifdef WITH_AIXAUTHENTICATE |
@@ -215,16 +215,14 @@ sys_auth_passwd(Authctxt *ctxt, const char *password) | |||
215 | default: /* user can't change(2) or other error (-1) */ | 215 | default: /* user can't change(2) or other error (-1) */ |
216 | logit("Password can't be changed for user %s: %.100s", | 216 | logit("Password can't be changed for user %s: %.100s", |
217 | name, msg); | 217 | name, msg); |
218 | if (msg) | 218 | free(msg); |
219 | xfree(msg); | ||
220 | authsuccess = 0; | 219 | authsuccess = 0; |
221 | } | 220 | } |
222 | 221 | ||
223 | aix_restoreauthdb(); | 222 | aix_restoreauthdb(); |
224 | } | 223 | } |
225 | 224 | ||
226 | if (authmsg != NULL) | 225 | free(authmsg); |
227 | xfree(authmsg); | ||
228 | 226 | ||
229 | return authsuccess; | 227 | return authsuccess; |
230 | } | 228 | } |
@@ -269,7 +267,7 @@ sys_auth_allowed_user(struct passwd *pw, Buffer *loginmsg) | |||
269 | 267 | ||
270 | if (!permitted) | 268 | if (!permitted) |
271 | logit("Login restricted for %s: %.100s", pw->pw_name, msg); | 269 | logit("Login restricted for %s: %.100s", pw->pw_name, msg); |
272 | xfree(msg); | 270 | free(msg); |
273 | return permitted; | 271 | return permitted; |
274 | } | 272 | } |
275 | 273 | ||
diff --git a/openbsd-compat/port-linux.c b/openbsd-compat/port-linux.c index aba75387c..4637a7a3e 100644 --- a/openbsd-compat/port-linux.c +++ b/openbsd-compat/port-linux.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $Id: port-linux.c,v 1.17 2012/03/08 23:25:18 djm Exp $ */ | 1 | /* $Id: port-linux.c,v 1.18 2013/06/01 22:07:32 dtucker Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2005 Daniel Walsh <dwalsh@redhat.com> | 4 | * Copyright (c) 2005 Daniel Walsh <dwalsh@redhat.com> |
@@ -96,10 +96,8 @@ ssh_selinux_getctxbyname(char *pwname) | |||
96 | } | 96 | } |
97 | 97 | ||
98 | #ifdef HAVE_GETSEUSERBYNAME | 98 | #ifdef HAVE_GETSEUSERBYNAME |
99 | if (sename != NULL) | 99 | free(sename); |
100 | xfree(sename); | 100 | free(lvl); |
101 | if (lvl != NULL) | ||
102 | xfree(lvl); | ||
103 | #endif | 101 | #endif |
104 | 102 | ||
105 | return sc; | 103 | return sc; |
@@ -217,8 +215,8 @@ ssh_selinux_change_context(const char *newname) | |||
217 | if (setcon(newctx) < 0) | 215 | if (setcon(newctx) < 0) |
218 | switchlog("%s: setcon %s from %s failed with %s", __func__, | 216 | switchlog("%s: setcon %s from %s failed with %s", __func__, |
219 | newctx, oldctx, strerror(errno)); | 217 | newctx, oldctx, strerror(errno)); |
220 | xfree(oldctx); | 218 | free(oldctx); |
221 | xfree(newctx); | 219 | free(newctx); |
222 | } | 220 | } |
223 | 221 | ||
224 | void | 222 | void |
@@ -1092,8 +1092,8 @@ read_etc_default_login(char ***env, u_int *envsize, uid_t uid) | |||
1092 | umask((mode_t)mask); | 1092 | umask((mode_t)mask); |
1093 | 1093 | ||
1094 | for (i = 0; tmpenv[i] != NULL; i++) | 1094 | for (i = 0; tmpenv[i] != NULL; i++) |
1095 | xfree(tmpenv[i]); | 1095 | free(tmpenv[i]); |
1096 | xfree(tmpenv); | 1096 | free(tmpenv); |
1097 | } | 1097 | } |
1098 | #endif /* HAVE_ETC_DEFAULT_LOGIN */ | 1098 | #endif /* HAVE_ETC_DEFAULT_LOGIN */ |
1099 | 1099 | ||
@@ -1109,7 +1109,7 @@ copy_environment(char **source, char ***env, u_int *envsize) | |||
1109 | for(i = 0; source[i] != NULL; i++) { | 1109 | for(i = 0; source[i] != NULL; i++) { |
1110 | var_name = xstrdup(source[i]); | 1110 | var_name = xstrdup(source[i]); |
1111 | if ((var_val = strstr(var_name, "=")) == NULL) { | 1111 | if ((var_val = strstr(var_name, "=")) == NULL) { |
1112 | xfree(var_name); | 1112 | free(var_name); |
1113 | continue; | 1113 | continue; |
1114 | } | 1114 | } |
1115 | *var_val++ = '\0'; | 1115 | *var_val++ = '\0'; |
@@ -1117,7 +1117,7 @@ copy_environment(char **source, char ***env, u_int *envsize) | |||
1117 | debug3("Copy environment: %s=%s", var_name, var_val); | 1117 | debug3("Copy environment: %s=%s", var_name, var_val); |
1118 | child_set_env(env, envsize, var_name, var_val); | 1118 | child_set_env(env, envsize, var_name, var_val); |
1119 | 1119 | ||
1120 | xfree(var_name); | 1120 | free(var_name); |
1121 | } | 1121 | } |
1122 | } | 1122 | } |
1123 | 1123 | ||
@@ -1616,7 +1616,7 @@ main(int ac, char **av) | |||
1616 | } else { | 1616 | } else { |
1617 | memset(privsep_pw->pw_passwd, 0, strlen(privsep_pw->pw_passwd)); | 1617 | memset(privsep_pw->pw_passwd, 0, strlen(privsep_pw->pw_passwd)); |
1618 | privsep_pw = pwcopy(privsep_pw); | 1618 | privsep_pw = pwcopy(privsep_pw); |
1619 | xfree(privsep_pw->pw_passwd); | 1619 | free(privsep_pw->pw_passwd); |
1620 | privsep_pw->pw_passwd = xstrdup("*"); | 1620 | privsep_pw->pw_passwd = xstrdup("*"); |
1621 | } | 1621 | } |
1622 | endpwent(); | 1622 | endpwent(); |
diff --git a/sshlogin.c b/sshlogin.c index 54629f747..2688d8d7b 100644 --- a/sshlogin.c +++ b/sshlogin.c | |||
@@ -97,7 +97,7 @@ store_lastlog_message(const char *user, uid_t uid) | |||
97 | time_string = sys_auth_get_lastlogin_msg(user, uid); | 97 | time_string = sys_auth_get_lastlogin_msg(user, uid); |
98 | if (time_string != NULL) { | 98 | if (time_string != NULL) { |
99 | buffer_append(&loginmsg, time_string, strlen(time_string)); | 99 | buffer_append(&loginmsg, time_string, strlen(time_string)); |
100 | xfree(time_string); | 100 | free(time_string); |
101 | } | 101 | } |
102 | # else | 102 | # else |
103 | last_login_time = get_last_login_time(uid, user, hostname, | 103 | last_login_time = get_last_login_time(uid, user, hostname, |
@@ -90,8 +90,7 @@ temporarily_use_uid(struct passwd *pw) | |||
90 | if (getgroups(saved_egroupslen, saved_egroups) < 0) | 90 | if (getgroups(saved_egroupslen, saved_egroups) < 0) |
91 | fatal("getgroups: %.100s", strerror(errno)); | 91 | fatal("getgroups: %.100s", strerror(errno)); |
92 | } else { /* saved_egroupslen == 0 */ | 92 | } else { /* saved_egroupslen == 0 */ |
93 | if (saved_egroups != NULL) | 93 | free(saved_egroups); |
94 | xfree(saved_egroups); | ||
95 | } | 94 | } |
96 | 95 | ||
97 | /* set and save the user's groups */ | 96 | /* set and save the user's groups */ |
@@ -109,8 +108,7 @@ temporarily_use_uid(struct passwd *pw) | |||
109 | if (getgroups(user_groupslen, user_groups) < 0) | 108 | if (getgroups(user_groupslen, user_groups) < 0) |
110 | fatal("getgroups: %.100s", strerror(errno)); | 109 | fatal("getgroups: %.100s", strerror(errno)); |
111 | } else { /* user_groupslen == 0 */ | 110 | } else { /* user_groupslen == 0 */ |
112 | if (user_groups) | 111 | free(user_groups); |
113 | xfree(user_groups); | ||
114 | } | 112 | } |
115 | } | 113 | } |
116 | /* Set the effective uid to the given (unprivileged) uid. */ | 114 | /* Set the effective uid to the given (unprivileged) uid. */ |