> Jef Waite wrote: >> >> Ok, I checked the mailling list archives and couldn't find anything >> about this in them. So I figured I'd ask here, to see if I'm >> imagining things, or just need more sleep. >> >> Anyways, in save.c in the fread_pet function, there are several places >> where it reads in a string: >> KEY( "LnD", pet->long_descr, fread_string(fp)); >> >> >> Same for name, short_descr, and description. Now these normally don't >> get saved unless they are different from pIndexData version, but >> shouldn't those >> all be KEYS instead of KEY? >> >> It does a create_mobile which sets those values. >> >> Am I losing it, or is it possible to be leaking memory if players get >> creative with their pets? >> >> Thanks, >> >> Jef > > Get some more sleep ;) > > If KEYS were used it'd free the strings in the mob index, surely not > what we want. > > [ create_mobile() uses 'mob->long_descr = pMobIndex->long_descr;' > giving a reference for standard descriptions, not a strcpy() ] > >
True, I forgot to mention that if you have OLC added it will cause a leak. Adding OLC will change the lines in create_mobile tomob->long_descr = str_dup(pMobIndex->long_descr); So, if you have OLC added, then the above should be KEYS. And I still need more sleep. :) Jef

