head pointer might be NULL, as is checked a few lines down, so add another clause...
authorjjenista <jjenista>
Fri, 5 Nov 2010 17:45:17 +0000 (17:45 +0000)
committerjjenista <jjenista>
Fri, 5 Nov 2010 17:45:17 +0000 (17:45 +0000)
Robust/src/Runtime/mlp_runtime.c

index ddf0a70efc4403dfb9303dd35dbe0666aeb8ed0e..2adeb1d1fabc18b1ad3bbdf036651e5e061650fd 100644 (file)
@@ -978,7 +978,9 @@ void resolvePointer(REntry* rentry){
     val=(struct Queue*)0x1;
     val=(struct Queue*)LOCKXCHG((unsigned INTPTR*)&(table->unresolvedQueue), (unsigned INTPTR)val);
   } while(val==(struct Queue*)0x1); 
-  if(val!=NULL && getHead(val)->objectptr==rentry){
+  if(val!=NULL && 
+     getHead(val)!=NULL &&
+     getHead(val)->objectptr==rentry){
     // handling pointer is the first item of the queue
     // start to resolve until it reaches unresolved pointer or end of queue
     INTPTR currentSESE=0;