
Pages:<< prev 1 next >>


Off the Edge of the Map

GroupAdministrators
Posts1,199
JoinedMar 21, 2006
Bug: Setplanet has no checks for name argument
Danger: High - Planet files could be lost or corrupted.
Found by: Keberus
Fixed by: Keberus
---
planets.c, do_setplanet
Locate:
Change it to:
This will make sure that the planet name exists and make sure that you don't set it to the same name as a different planet.
Danger: High - Planet files could be lost or corrupted.
Found by: Keberus
Fixed by: Keberus
---
planets.c, do_setplanet
Locate:
if( !strcmp( arg2, "name" ) ) { STRFREE( planet->name ); planet->name = STRALLOC( argument ); send_to_char( "Done.\r\n", ch ); save_planet( planet ); return; }
Change it to:
if( !strcmp( arg2, "name" ) ) { PLANET_DATA *tplanet; if( !argument || argument[0] == '\0' ) { send_to_char( "You must choose a name.\r\n", ch ); return; } if( ( tplanet = get_planet( argument ) ) != NULL ) { send_to_char( "A planet with that name already Exists!\r\n", ch ); return; } STRFREE( planet->name ); planet->name = STRALLOC( argument ); send_to_char( "Done.\r\n", ch ); save_planet( planet ); return; }
This will make sure that the planet name exists and make sure that you don't set it to the same name as a different planet.
Pages:<< prev 1 next >>