]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/patches/samba/samba-3.6.99-fix_pam_winbind_parsing_segfault.patch
samba: add current RHEL6 patches
[people/pmueller/ipfire-2.x.git] / src / patches / samba / samba-3.6.99-fix_pam_winbind_parsing_segfault.patch
1 From 580eabc2c9dfe29d719a026ff8f6ac3d2ead1983 Mon Sep 17 00:00:00 2001
2 From: Andreas Schneider <asn@samba.org>
3 Date: Tue, 8 Sep 2015 16:48:08 +0200
4 Subject: [PATCH] PATCHSET28: pam_winbind: Fix a segfault if initialization
5 fails
6
7 BUG: https://bugzilla.samba.org/show_bug.cgi?id=11502
8
9 Signed-off-by: Andreas Schneider <asn@samba.org>
10 Reviewed-by: Michael Adam <obnox@samba.org>
11
12 Autobuild-User(master): Michael Adam <obnox@samba.org>
13 Autobuild-Date(master): Tue Sep 8 21:39:21 CEST 2015 on sn-devel-104
14
15 (cherry picked from commit 7d84cd6e40024fd361ea21635f7befed40f0e41f)
16 ---
17 nsswitch/pam_winbind.c | 19 ++++++++-----------
18 1 file changed, 8 insertions(+), 11 deletions(-)
19
20 diff --git a/nsswitch/pam_winbind.c b/nsswitch/pam_winbind.c
21 index d126494..cfaa5f1 100644
22 --- a/nsswitch/pam_winbind.c
23 +++ b/nsswitch/pam_winbind.c
24 @@ -2465,7 +2465,7 @@ static int _pam_delete_cred(pam_handle_t *pamh, int flags,
25
26 retval = _pam_winbind_init_context(pamh, flags, argc, argv, &ctx);
27 if (retval) {
28 - goto out;
29 + return retval;
30 }
31
32 _PAM_LOG_FUNCTION_ENTER("_pam_delete_cred", ctx);
33 @@ -2600,7 +2600,7 @@ int pam_sm_authenticate(pam_handle_t *pamh, int flags,
34
35 retval = _pam_winbind_init_context(pamh, flags, argc, argv, &ctx);
36 if (retval) {
37 - goto out;
38 + return retval;
39 }
40
41 _PAM_LOG_FUNCTION_ENTER("pam_sm_authenticate", ctx);
42 @@ -2752,7 +2752,7 @@ int pam_sm_setcred(pam_handle_t *pamh, int flags,
43
44 ret = _pam_winbind_init_context(pamh, flags, argc, argv, &ctx);
45 if (ret) {
46 - goto out;
47 + return ret;
48 }
49
50 _PAM_LOG_FUNCTION_ENTER("pam_sm_setcred", ctx);
51 @@ -2782,8 +2782,6 @@ int pam_sm_setcred(pam_handle_t *pamh, int flags,
52 break;
53 }
54
55 - out:
56 -
57 _PAM_LOG_FUNCTION_LEAVE("pam_sm_setcred", ctx, ret);
58
59 TALLOC_FREE(ctx);
60 @@ -2806,7 +2804,7 @@ int pam_sm_acct_mgmt(pam_handle_t *pamh, int flags,
61
62 ret = _pam_winbind_init_context(pamh, flags, argc, argv, &ctx);
63 if (ret) {
64 - goto out;
65 + return ret;
66 }
67
68 _PAM_LOG_FUNCTION_ENTER("pam_sm_acct_mgmt", ctx);
69 @@ -2901,7 +2899,7 @@ int pam_sm_open_session(pam_handle_t *pamh, int flags,
70
71 ret = _pam_winbind_init_context(pamh, flags, argc, argv, &ctx);
72 if (ret) {
73 - goto out;
74 + return ret;
75 }
76
77 _PAM_LOG_FUNCTION_ENTER("pam_sm_open_session", ctx);
78 @@ -2910,7 +2908,7 @@ int pam_sm_open_session(pam_handle_t *pamh, int flags,
79 /* check and create homedir */
80 ret = _pam_mkhomedir(ctx);
81 }
82 - out:
83 +
84 _PAM_LOG_FUNCTION_LEAVE("pam_sm_open_session", ctx, ret);
85
86 TALLOC_FREE(ctx);
87 @@ -2927,12 +2925,11 @@ int pam_sm_close_session(pam_handle_t *pamh, int flags,
88
89 ret = _pam_winbind_init_context(pamh, flags, argc, argv, &ctx);
90 if (ret) {
91 - goto out;
92 + return ret;
93 }
94
95 _PAM_LOG_FUNCTION_ENTER("pam_sm_close_session", ctx);
96
97 -out:
98 _PAM_LOG_FUNCTION_LEAVE("pam_sm_close_session", ctx, ret);
99
100 TALLOC_FREE(ctx);
101 @@ -3012,7 +3009,7 @@ int pam_sm_chauthtok(pam_handle_t * pamh, int flags,
102
103 ret = _pam_winbind_init_context(pamh, flags, argc, argv, &ctx);
104 if (ret) {
105 - goto out;
106 + return ret;
107 }
108
109 _PAM_LOG_FUNCTION_ENTER("pam_sm_chauthtok", ctx);
110 --
111 2.5.0
112