diff -pruN libfame-0.9.1.orig/src/fame_malloc.c libfame-0.9.1/src/fame_malloc.c --- libfame-0.9.1.orig/src/fame_malloc.c 2008-08-02 22:44:06.858140887 +1000 +++ libfame-0.9.1/src/fame_malloc.c 2008-08-02 23:05:08.693143429 +1000 @@ -36,9 +36,13 @@ void* fame_malloc(size_t size) */ ptr = (unsigned char*) malloc(size+ALIGN); - aligned = (unsigned char*) (((unsigned int)ptr & (~(ALIGN-1))) + ALIGN ); + if (ptr == NULL) { + perror("fame_malloc"); + exit(1); + } + aligned = (unsigned char*) (((uintptr_t)ptr & (~(ALIGN-1))) + ALIGN ); padding = aligned - 1; - *padding = (ALIGN-1) - ((unsigned int)ptr & (ALIGN-1)); + *padding = (ALIGN-1) - ((uintptr_t)ptr & (ALIGN-1)); return ((void*)aligned); }