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