Login
User Name:

Password:



Register
Forgot your password?
Vote for Us!
tintin++ ogg sound player script for linux
Author: Robert Smith
Submitted by: Vladaar
6Dragons ogg Soundpack
Author: Vladaar
Submitted by: Vladaar
6Dragons 4.4
Author: Vladaar
Submitted by: Vladaar
LoP 1.46
Author: Remcon
Submitted by: Remcon
LOP 1.45
Author: Remcon
Submitted by: Remcon
Users Online
CommonCrawl, Yandex

Members: 0
Guests: 6
Stats
Files
Topics
Posts
Members
Newest Member
481
3,737
19,381
619
Alexander
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,643
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 >>