6655bed
diff -up squid-3.0.STABLE6/src/tools.cc.bad_allocation squid-3.0.STABLE6/src/tools.cc
6655bed
--- squid-3.0.STABLE6/src/tools.cc.bad_allocation	2008-05-20 17:01:16.000000000 +0200
6655bed
+++ squid-3.0.STABLE6/src/tools.cc	2008-05-23 11:14:24.000000000 +0200
6655bed
@@ -1354,10 +1354,14 @@ static void
6655bed
 restoreCapabilities(int keep)
6655bed
 {
6655bed
 #if defined(_SQUID_LINUX_) && HAVE_SYS_CAPABILITY_H
6655bed
-    cap_user_header_t head = (cap_user_header_t) xcalloc(1, sizeof(cap_user_header_t));
6655bed
-    cap_user_data_t cap = (cap_user_data_t) xcalloc(1, sizeof(cap_user_data_t));
6655bed
+    cap_user_header_t head = (cap_user_header_t) xcalloc(1, sizeof(*head));
6655bed
+    cap_user_data_t cap = (cap_user_data_t) xcalloc(1, sizeof(*cap));
6655bed
 
6655bed
+#ifdef  _LINUX_CAPABILITY_VERSION_1
6655bed
+    head->version = _LINUX_CAPABILITY_VERSION_1;
6655bed
+#else
6655bed
     head->version = _LINUX_CAPABILITY_VERSION;
6655bed
+#endif
6655bed
 
6655bed
     if (capget(head, cap) != 0) {
6655bed
         debugs(50, 1, "Can't get current capabilities");