1
Description: Handle invalid user mappings
2
Bug: http://jira.globus.org/browse/GT-195
3
Origin: backport, http://jira.globus.org/secure/attachment/10877/GT-195.patch
4
Index: globus-gridftp-server-3.17/globus_i_gfs_control.c
5
===================================================================
6
--- globus-gridftp-server-3.17.orig/globus_i_gfs_control.c 2012-08-02 12:49:46.239157090 -0700
7
+++ globus-gridftp-server-3.17/globus_i_gfs_control.c 2012-08-02 12:49:46.311157088 -0700
13
+ if(sc != 0 || res_pwd == NULL)
15
/* XXX expand other usernames here */
16
result = GlobusGFSErrorGeneric(
17
Index: globus-gridftp-server-3.17/globus_i_gfs_data.c
18
===================================================================
19
--- globus-gridftp-server-3.17.orig/globus_i_gfs_data.c 2012-08-02 12:49:46.251157089 -0700
20
+++ globus-gridftp-server-3.17/globus_i_gfs_data.c 2012-08-02 12:49:46.323157089 -0700
23
rc = globus_libc_getpwuid_r(getuid(), &pwent_mem, pw_buffer,
24
pw_buflen, &pw_result);
26
+ if(rc != 0 || pw_result == NULL)
28
globus_free(pw_buffer);
32
- pwent = globus_l_gfs_pw_copy(&pwent_mem);
33
+ pwent = globus_l_gfs_pw_copy(pw_result);
34
globus_free(pw_buffer);
39
rc = globus_libc_getpwnam_r(
40
(char *)name, &pwent_mem, pw_buffer, pw_buflen, &pw_result);
42
+ if(rc != 0 || pw_result == NULL)
44
globus_free(pw_buffer);
48
- pwent = globus_l_gfs_pw_copy(&pwent_mem);
49
+ pwent = globus_l_gfs_pw_copy(pw_result);
50
globus_free(pw_buffer);