Oh, and taking a quick look at your program, here's at least one of the bugs: static void calculate(char *name) { ^^^^^^^^^^ ... __ext4fs_dirhash(name, sizeof(name), &hinfo); ^^^^^^^^^^^^ With apologies to the movie "The Princess Bride"[1]: You fell victim to one of the classic blunders! The most famous is to never get involved in a land war in Asia, but only slightly less well-known is this: 'taking the size of a C pointer is generally not what you had wanted to do'! :-) [1] https://www.youtube.com/watch?v=R7TFPQqglb4 - Ted