Common subdirectories: hurd/libpthread/pthread/CVS and hurd-work/libpthread/pthread/CVS
diff -u hurd/libpthread/pthread/pt-setcancelstate.c hurd-work/libpthread/pthread/pt-setcancelstate.c
--- hurd/libpthread/pthread/pt-setcancelstate.c	2002-10-10 23:05:06.000000000 +0000
+++ hurd/libpthread/pthread/pt-setcancelstate.c	2006-10-23 19:59:55.000000000 +0000
@@ -35,7 +35,8 @@
       break;
     }
 
-  *oldstate = p->cancel_state;
+  if (oldstate)
+    *oldstate = p->cancel_state;
   p->cancel_state = state;
 
   return 0;
diff -u hurd/libpthread/pthread/pt-setcanceltype.c hurd-work/libpthread/pthread/pt-setcanceltype.c
--- hurd/libpthread/pthread/pt-setcanceltype.c	2002-10-10 23:05:06.000000000 +0000
+++ hurd/libpthread/pthread/pt-setcanceltype.c	2006-10-23 20:57:42.000000000 +0000
@@ -34,8 +34,9 @@
     case PTHREAD_CANCEL_ASYNCHRONOUS:
       break;
     }
-
-  *oldtype = p->cancel_type;
+  
+  if (oldtype)
+    *oldtype = p->cancel_type;
   p->cancel_type = type;
 
   return 0;
