A relatively easy one line of code, but doesn’t work properly.
sprintf(target\_str, "write %s", copied\_str);
Somehow, copied_str is changing. I tried making it const but no luck, still changing. Then I realized
target\_str is not big enough for overall string. That’s why it was overwriting because
copied\_str are defined in a row! So which means their addresses are sequential. I increased the size of
target\_str, and problem solved.
Moral of the story, never be mean about string lengths.