alloc_size attribute is new to gcc 4.3; don't use it with lesser versions