36ca139
diff -up frysk-0.4/frysk-imports/tests/frysk3525/exit47.c.2 frysk-0.4/frysk-imports/tests/frysk3525/exit47.c
36ca139
--- frysk-0.4/frysk-imports/tests/frysk3525/exit47.c.2	2008-06-09 14:03:07.000000000 -0400
36ca139
+++ frysk-0.4/frysk-imports/tests/frysk3525/exit47.c	2009-02-09 11:53:10.000000000 -0500
36ca139
@@ -59,7 +59,7 @@ main (int argc, char *argv[], char *envp
36ca139
 
36ca139
   printf ("%d forking\n", getpid ());
36ca139
   pid_t ppid = getpid ();
36ca139
-  volatile pid_t pid;
36ca139
+  volatile pid_t pid = -1; // updated by child during vfork
36ca139
   pid_t v = vfork ();
36ca139
   switch (v) {
36ca139
 
36ca139
diff -up frysk-0.4/frysk-imports/tests/frysk3595/detach-multi-thread.c.2 frysk-0.4/frysk-imports/tests/frysk3595/detach-multi-thread.c
36ca139
--- frysk-0.4/frysk-imports/tests/frysk3595/detach-multi-thread.c.2	2008-06-09 14:03:07.000000000 -0400
36ca139
+++ frysk-0.4/frysk-imports/tests/frysk3595/detach-multi-thread.c	2009-02-09 11:53:10.000000000 -0500
36ca139
@@ -198,7 +198,7 @@ main (int argc, char *argv[], char *envp
36ca139
   printf ("%d forking daemon\n", getpid ());
36ca139
   pid_t ppid = getpid ();
36ca139
 #define NR_TASKS 2
36ca139
-  volatile pid_t tasks[NR_TASKS];
36ca139
+  volatile pid_t tasks[NR_TASKS] = { }; // updated by vfork child
36ca139
   pid_t v = vfork ();
36ca139
   switch (v) {
36ca139
 
36ca139
diff -up frysk-0.4/frysk-sys/frysk/sys/proc/cni/Stat.cxx.2 frysk-0.4/frysk-sys/frysk/sys/proc/cni/Stat.cxx
36ca139
--- frysk-0.4/frysk-sys/frysk/sys/proc/cni/Stat.cxx.2	2009-02-09 12:48:47.000000000 -0500
36ca139
+++ frysk-0.4/frysk-sys/frysk/sys/proc/cni/Stat.cxx	2009-02-09 12:53:16.000000000 -0500
36ca139
@@ -59,8 +59,8 @@ static frysk::sys::proc::Stat*
36ca139
 scan(const char*p, frysk::sys::proc::Stat* const stat, frysk::rsl::Log* fine) {
36ca139
   // The "comm" needs special treatment, need to scan backwards for
36ca139
   // ')' as the command itself could contain ')'.
36ca139
-  char* commStart = ::strchr (p, '(');
36ca139
-  char* commEnd = ::strrchr (p, ')');
36ca139
+  char* commStart = (char*) ::strchr ((char*)p, '(');
36ca139
+  char* commEnd = (char*) ::strrchr ((char*)p, ')');
36ca139
   if (commStart == NULL || commEnd == NULL)
36ca139
     throwRuntimeException ("botched comm field");
36ca139
   stat->comm = JvNewStringLatin1 (commStart + 1, commEnd - commStart - 1);
36ca139
diff -up frysk-0.4/frysk-sys/frysk/sys/proc/jni/Stat.cxx.2 frysk-0.4/frysk-sys/frysk/sys/proc/jni/Stat.cxx
36ca139
--- frysk-0.4/frysk-sys/frysk/sys/proc/jni/Stat.cxx.2	2009-02-09 13:49:48.000000000 -0500
36ca139
+++ frysk-0.4/frysk-sys/frysk/sys/proc/jni/Stat.cxx	2009-02-09 13:50:34.000000000 -0500
36ca139
@@ -60,8 +60,8 @@ static void
36ca139
 scan(jnixx::env env, const char*p, Stat& stat, frysk::rsl::Log fine) {
36ca139
   // The "comm" needs special treatment, need to scan backwards for
36ca139
   // ')' as the command itself could contain ')'.
36ca139
-  char* commStart = ::strchr(p, '(');
36ca139
-  char* commEnd = ::strrchr(p, ')');
36ca139
+  char* commStart = (char*) ::strchr((char*)p, '(');
36ca139
+  char* commEnd = (char*) ::strrchr((char*)p, ')');
36ca139
   if (commStart == NULL || commEnd == NULL)
36ca139
     runtimeException(env, "botched comm field");
36ca139
   int commLength = commEnd - (commStart + 1);