SOURCES: util-vserver-size_t.patch - more complete fix from util-v...

baggins baggins at pld-linux.org
Thu Jul 7 14:43:29 CEST 2005


Author: baggins                      Date: Thu Jul  7 12:43:29 2005 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- more complete fix from util-vserver CVS

---- Files affected:
SOURCES:
   util-vserver-size_t.patch (1.1 -> 1.2) 

---- Diffs:

================================================================
Index: SOURCES/util-vserver-size_t.patch
diff -u SOURCES/util-vserver-size_t.patch:1.1 SOURCES/util-vserver-size_t.patch:1.2
--- SOURCES/util-vserver-size_t.patch:1.1	Thu Jul  7 14:02:44 2005
+++ SOURCES/util-vserver-size_t.patch	Thu Jul  7 14:43:24 2005
@@ -1,22 +1,62 @@
-Writer (rpm-fake.so) sends size_t sized data, we must read it as size_t
-
---- util-vserver-0.30.207/src/rpm-fake-resolver.c~	2005-04-28 20:08:01.000000000 +0200
-+++ util-vserver-0.30.207/src/rpm-fake-resolver.c	2005-07-07 13:59:56.343332673 +0200
-@@ -150,7 +150,7 @@
- static void
- do_getpwnam()
+===================================================================
+RCS file: /cvsroot/util-vserver/cvsroot/util-vserver/util-vserver/src/rpm-fake.c,v
+retrieving revision 1.31
+retrieving revision 1.32
+diff -u -r1.31 -r1.32
+--- util-vserver/util-vserver/src/rpm-fake.c	2005/04/10 12:27:25	1.31
++++ util-vserver/util-vserver/src/rpm-fake.c	2005/07/03 12:26:28	1.32
+@@ -1,4 +1,4 @@
+-// $Id$    --*- c++ -*--
++// $Id$    --*- c++ -*--
+ 
+ // Copyright (C) 2003 Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de>
+ //  
+@@ -524,12 +524,11 @@
+ static bool
+ doPwStringRequest(uint32_t *result, char style, char const *name)
+ {
+-  size_t	len = strlen(name);
++  uint32_t	len = strlen(name);
+   uint8_t	code;
+   uint8_t	c;
+ 
+   return (TEMP_FAILURE_RETRY(read (sync_sock, &c, 1))==1 &&
+-	  
+ 	  TEMP_FAILURE_RETRY(write(pw_sock, &style, 1))==1 &&
+ 	  TEMP_FAILURE_RETRY(write(pw_sock, &len,   sizeof len))==sizeof(len) &&
+ 	  TEMP_FAILURE_RETRY(write(pw_sock, name,   len))==(ssize_t)(len) &&
+@@ -543,6 +542,7 @@
  {
--  uint32_t	len;
-+  size_t	len;
-   Eread(0, &len, sizeof len);
+   if (pw_sock==-1) return getpwnam_func(name);
+   else {
++    uint32_t			id;
+     static struct passwd	res = {
+       .pw_passwd = "*",
+       .pw_gid    = -1,
+@@ -552,7 +552,8 @@
+     };
  
-   if (len<MAX_RQSIZE) {
-@@ -169,7 +169,7 @@
- static void
- do_getgrnam()
+     res.pw_name = (char *)(name);
+-    if (!doPwStringRequest(&res.pw_uid, 'P', name)) return 0;
++    if (!doPwStringRequest(&id, 'P', name)) return 0;
++    res.pw_uid = id;
+     
+     return &res;
+   }
+@@ -563,13 +564,15 @@
  {
--  uint32_t	len;
-+  size_t	len;
-   Eread(0, &len, sizeof len);
+   if (pw_sock==-1) return getgrnam_func(name);
+   else {
++    uint32_t			id;
+     static struct group		res = {
+       .gr_passwd = "*",
+       .gr_mem    = 0
+     };
+ 
+     res.gr_name = (char *)(name);
+-    if (!doPwStringRequest(&res.gr_gid, 'G', name)) return 0;
++    if (!doPwStringRequest(&id, 'G', name)) return 0;
++    res.gr_gid = id;
  
-   if (len<MAX_RQSIZE) {
+     return &res;
+   }
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/util-vserver-size_t.patch?r1=1.1&r2=1.2&f=u




More information about the pld-cvs-commit mailing list