* Check for NULL pointers before reading them.

This commit is contained in:
Justin Maggard 2013-02-01 20:26:52 +00:00
parent db1b9dff32
commit 77c30bdfba

View File

@ -173,23 +173,23 @@ sendBeaconMessage(int fd, struct sockaddr_in * client, int len, int broadcast)
* Returns true if this was a broadcast beacon msg
*/
int
rcvBeaconMessage(char * beacon)
rcvBeaconMessage(char *beacon)
{
char * tivoConnect = NULL;
char * method = NULL;
char * identity = NULL;
char * machine = NULL;
char * platform = NULL;
char * services = NULL;
char * cp;
char * scp;
char * tokptr;
char *tivoConnect = NULL;
char *method = NULL;
char *identity = NULL;
char *machine = NULL;
char *platform = NULL;
char *services = NULL;
char *cp;
char *scp;
char *tokptr;
cp = strtok_r(beacon, "=\r\n", &tokptr);
while( cp != NULL )
{
scp = cp;
cp = strtok_r( NULL, "=\r\n", &tokptr );
cp = strtok_r(NULL, "=\r\n", &tokptr);
if( strcasecmp(scp, "tivoconnect") == 0 )
tivoConnect = cp;
else if( strcasecmp(scp, "method") == 0 )
@ -205,12 +205,12 @@ rcvBeaconMessage(char * beacon)
cp = strtok_r(NULL, "=\r\n", &tokptr);
}
if( tivoConnect == NULL )
if( !tivoConnect || !platform || !method )
return 0;
#ifdef DEBUG
static struct aBeacon* topBeacon = NULL;
struct aBeacon * b;
static struct aBeacon *topBeacon = NULL;
struct aBeacon *b;
time_t current;
int len;
char buf[32];