Hello Sidewinder,
Your using sizeof() in the malloc statement, which I think is incorrect. Both sizeof(assembler_name) and sizeof(file_name) should both return a value of four(4) since this is the size of a pointer in bytes.
I'd use strlen() instead of sizeof()...
Hope this helps.
Regards,
Stephen.