Hi, On Thu, 18 Jan 2007, Simon 'corecode' Schubert wrote: > Morten Welinder wrote: > > > - return ntohl(*((unsigned int *) ((char *) index + > > > (24 * mi)))); > > > + return ntohl(*((uint32_t *)((char *)index + (24 * > > > mi)))); > > > > Is that pointer gymnastics guaranteed to work? I.e., how do we know > > that we can access an uint32_t (or unsigned) at such an address? > > if index is always aligned to a 4-byte boundary, this is safe. apart from > that, the problem already existed. index is assigned from p->index_base, which comes from check_packed_git_idx(), and there it comes from an xmmap(). AFAICT mmap() (and for NO_MMAP, malloc()) _always_ return aligned pointers, so there is no problem, as long as the alignment step divides 24. Ciao, Dscho - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html