diff -up squid-3.0.STABLE5/src/tools.cc.bad_allocation squid-3.0.STABLE5/src/tools.cc --- squid-3.0.STABLE5/src/tools.cc.bad_allocation 2008-05-21 10:49:55.000000000 +0200 +++ squid-3.0.STABLE5/src/tools.cc 2008-05-21 10:50:02.000000000 +0200 @@ -1343,8 +1343,8 @@ static void restoreCapabilities(int keep) { #if defined(_SQUID_LINUX_) && HAVE_SYS_CAPABILITY_H - cap_user_header_t head = (cap_user_header_t) xcalloc(1, sizeof(cap_user_header_t)); - cap_user_data_t cap = (cap_user_data_t) xcalloc(1, sizeof(cap_user_data_t)); + cap_user_header_t head = (cap_user_header_t) xcalloc(1, sizeof(*head)); + cap_user_data_t cap = (cap_user_data_t) xcalloc(1, sizeof(*cap)); head->version = _LINUX_CAPABILITY_VERSION;