[Cmake-commits] [cmake-commits] king committed archive_read_disk_set_standard_lookup.c 1.3 1.4 archive_write_disk_set_standard_lookup.c 1.3 1.4

cmake-commits at cmake.org cmake-commits at cmake.org
Fri Nov 6 10:54:14 EST 2009


Update of /cvsroot/CMake/CMake/Utilities/cmlibarchive/libarchive
In directory public:/mounts/ram/cvs-serv18637/Utilities/cmlibarchive/libarchive

Modified Files:
	archive_read_disk_set_standard_lookup.c 
	archive_write_disk_set_standard_lookup.c 
Log Message:
libarchive: Initialize passwd/group lookup result

The "result" argument to functions get(pwu|grg)id_r and get(pw|gr)name_r
does not appear in the signatures provided on older platforms.  We set
the pointer to the result memory in case the function ignores it, thus
ensuring initialization.


Index: archive_read_disk_set_standard_lookup.c
===================================================================
RCS file: /cvsroot/CMake/CMake/Utilities/cmlibarchive/libarchive/archive_read_disk_set_standard_lookup.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C 2 -d -r1.3 -r1.4
*** archive_read_disk_set_standard_lookup.c	5 Nov 2009 21:29:07 -0000	1.3
--- archive_read_disk_set_standard_lookup.c	6 Nov 2009 15:54:06 -0000	1.4
***************
*** 200,203 ****
--- 200,204 ----
          return (NULL);
      for (;;) {
+         result = &pwent; /* Old getpwuid_r ignores last argument.  */
          r = getpwuid_r((uid_t)id, &pwent,
                     cache->buff, cache->buff_size, &result);
***************
*** 248,251 ****
--- 249,253 ----
          return (NULL);
      for (;;) {
+         result = &grent; /* Old getgrgid_r ignores last argument.  */
          r = getgrgid_r((gid_t)id, &grent,
                     cache->buff, cache->buff_size, &result);

Index: archive_write_disk_set_standard_lookup.c
===================================================================
RCS file: /cvsroot/CMake/CMake/Utilities/cmlibarchive/libarchive/archive_write_disk_set_standard_lookup.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C 2 -d -r1.3 -r1.4
*** archive_write_disk_set_standard_lookup.c	5 Nov 2009 21:29:10 -0000	1.3
--- archive_write_disk_set_standard_lookup.c	6 Nov 2009 15:54:10 -0000	1.4
***************
*** 130,133 ****
--- 130,134 ----
  
          for (;;) {
+             result = &grent; /* Old getgrnam_r ignores last argument.  */
              r = getgrnam_r(gname, &grent, buffer, bufsize, &result);
              if (r == 0)
***************
*** 189,192 ****
--- 190,194 ----
  
          for (;;) {
+             result = &pwent; /* Old getpwnam_r ignores last argument.  */
              r = getpwnam_r(uname, &pwent, buffer, bufsize, &result);
              if (r == 0)



More information about the Cmake-commits mailing list