Code: GahpServer::Reaper(Service *,int pid,int status)
{
	/* This should be much better.... for now, if our Gahp Server
	   goes away for any reason, we EXCEPT. */

	GahpServer *dead_server = NULL;
	GahpServer *next_server = NULL;

	GahpServersById.startIterations();
	while ( GahpServersById.iterate( next_server ) != 0 ) {
		if ( pid == next_server->m_gahp_pid ) {
			dead_server = next_server;
			break;
		}
	}

	std::string buf;

	sprintf( buf, "Gahp Server (pid=%d) ", pid );

	if( WIFSIGNALED(status) ) {
		sprintf_cat( buf, "died due to %s", 
			daemonCore->GetExceptionString(status) );
	} else {
		sprintf_cat( buf, "exited with status %d", WEXITSTATUS(status) );
	}
 
        if ( dead_server ) {
                sprintf_cat( buf, " unexpectedly" );
               EXCEPT( buf.c_str() );
        } else {
                sprintf_cat( buf, "\n" );
               dprintf( D_ALWAYS, buf.c_str() );
        }
 }

Vulnerability Type: DoS Exec Code
CWE ID: CWE-134
Summary: Multiple format string vulnerabilities in Condor 7.2.0 through 7.6.4, and possibly certain 7.7.x versions, as used in Red Hat MRG Grid and possibly other products, allow local users to cause a denial of service (condor_schedd daemon and failure to launch jobs) and possibly execute arbitrary code via format string specifiers in (1) the reason for a hold for a job that uses an XML user log, (2) the filename of a file to be transferred, and possibly other unspecified vectors.
Commit Message: 