Arduino is freezing after running function twice

suersaiyangod:
...Now if there is a 0 in the length address then it means that the address(of the EEPROM) hasn't been written to, so I will start storing the new string in the address before the length address( to store the identification number). So now if the address declared in the function(EEPROM_stringwrite(23, "saiyan"); 23 in that) matches with an already existing address then it over-writes that particular string currently stored in that address....

:o yikes. :o

instead of coming up with this kludge, why not just ask "hey world, how best to store some Strings in EEPROM?"

suersaiyangod:
The code works perfectly but the problem is when I run it a second time by either pressing the reset button on the Arduino or re-upload the code it is freezing

some new definition of "perfect" I guess...

If the process of reproduction was perfect to this standard, we'd be extinct.