Login
User Name:

Password:



Register
Forgot your password?
Vote for Us!
parse description bug
Dec 15, 2017, 10:08 pm
By Remcon
Couple bugs
Dec 12, 2017, 5:42 pm
By Remcon
Bug in disarm( )
Nov 12, 2017, 6:54 pm
By GatewaySysop
Bug in will_fall( )
Oct 23, 2017, 1:35 am
By GatewaySysop
Bug in do_zap( ), do_brandish( )
Oct 18, 2017, 1:52 pm
By GatewaySysop
LOP 1.45
Author: Remcon
Submitted by: Remcon
LOP Heroes Edition
Author: Vladaar
Submitted by: Vladaar
Heroes sound extras
Author: Vladaar
Submitted by: Vladaar
6Dragons 4.3
Author: Vladaar
Submitted by: Vladaar
Memwatch
Author: Johan Lindh
Submitted by: Vladaar
Users Online
CommonCrawl, Yahoo!

Members: 0
Guests: 8
Stats
Files
Topics
Posts
Members
Newest Member
477
3,706
19,240
608
LAntorcha
Today's Birthdays
There are no member birthdays today.
Related Links
» SmaugMuds.org » Codebases » SmaugFUSS » [BUG] Smaug project code
Forum Rules | Mark all | Recent Posts

[BUG] Smaug project code
< Newer Topic :: Older Topic > read_project

Pages:<< prev 1 next >>
Post is unread #1 May 8, 2003, 9:22 am
Go to the top of the page
Go to the bottom of the page

Samson
Black Hand
GroupAdministrators
Posts3,639
JoinedJan 1, 2002

Bug found in read_project, db.c:

	case 'N':
     if ( !str_cmp(word, "Name";) )
      STRFREE(project->name );
     KEY( "Name",  	project->name,  	fread_string_nohash( fp ) );
  break;


The above code sample results in a memory leak at bootup. Not very severe since this only happens once, but once is enough to cause problems later on. Research into this finds that the project->name pointer is intended to be a non-hashed string, so the correct code should read:

	case 'N':
     if ( !str_cmp(word, "Name";) )
              if( project->name )
      DISPOSE(project->name );
     KEY( "Name",  	project->name,  	fread_string_nohash( fp ) );
  break;


There is also an initializer line further up in the code that reads:

   project->name = STRALLOC( "" );


This should read:

   project->name = NULL;


Near the bottom you also have this:

  if ( project->name )
  	STRFREE( project->name );


That should be changed to:

  if ( project->name )
  	DISPOSE( project->name );




<!--EDIT|Samson|May 13 2003, 06:56 AM-->
       
Pages:<< prev 1 next >>