/[smeserver]/rpms/sudo/sme9/sudo-1.8.6p3-strictuidgid.patch
ViewVC logotype

Annotation of /rpms/sudo/sme9/sudo-1.8.6p3-strictuidgid.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Thu Feb 4 19:44:38 2021 UTC (3 years, 3 months ago) by jpp
Branch: MAIN
CVS Tags: sudo-1_8_6p3-30_el6_sme, sudo-1_8_6p3-29_el6_9, HEAD
Sudo

1 jpp 1.1 diff -up sudo-1.8.6p3/plugins/sudoers/match.c.strictuidgid sudo-1.8.6p3/plugins/sudoers/match.c
2     --- sudo-1.8.6p3/plugins/sudoers/match.c.strictuidgid 2012-09-18 15:56:29.000000000 +0200
3     +++ sudo-1.8.6p3/plugins/sudoers/match.c 2013-08-08 16:22:00.413281960 +0200
4     @@ -650,14 +650,16 @@ hostname_matches(char *shost, char *lhos
5     bool
6     userpw_matches(char *sudoers_user, char *user, struct passwd *pw)
7     {
8     - debug_decl(userpw_matches, SUDO_DEBUG_MATCH)
9     -
10     - if (pw != NULL && *sudoers_user == '#') {
11     - uid_t uid = (uid_t) atoi(sudoers_user + 1);
12     - if (uid == pw->pw_uid)
13     - debug_return_bool(true);
14     - }
15     - debug_return_bool(strcmp(sudoers_user, user) == 0);
16     + debug_decl(userpw_matches, SUDO_DEBUG_MATCH)
17     + if (pw != NULL && *sudoers_user == '#') {
18     + char *end = NULL;
19     + uid_t uid = (uid_t) strtol(sudoers_user + 1, &end, 10);
20     + if (end != NULL && (sudoers_user[1] != '\0' && *end == '\0')) {
21     + if (uid == pw->pw_uid)
22     + debug_return_bool(true);
23     + }
24     + }
25     + debug_return_bool(strcmp(sudoers_user, user) == 0);
26     }
27    
28     /*
29     @@ -667,14 +669,16 @@ userpw_matches(char *sudoers_user, char
30     bool
31     group_matches(char *sudoers_group, struct group *gr)
32     {
33     - debug_decl(group_matches, SUDO_DEBUG_MATCH)
34     -
35     - if (*sudoers_group == '#') {
36     - gid_t gid = (gid_t) atoi(sudoers_group + 1);
37     - if (gid == gr->gr_gid)
38     - debug_return_bool(true);
39     - }
40     - debug_return_bool(strcmp(gr->gr_name, sudoers_group) == 0);
41     + debug_decl(group_matches, SUDO_DEBUG_MATCH)
42     + if (*sudoers_group == '#') {
43     + char *end = NULL;
44     + gid_t gid = (gid_t) strtol(sudoers_group + 1, &end, 10);
45     + if (end != NULL && (sudoers_group[1] != '\0' && *end == '\0')) {
46     + if (gid == gr->gr_gid)
47     + debug_return_bool(true);
48     + }
49     + }
50     + debug_return_bool(strcmp(gr->gr_name, sudoers_group) == 0);
51     }
52    
53     /*

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed