Index: /issm/trunk-jpl/test/NightlyRun/runme.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/runme.m	(revision 15732)
+++ /issm/trunk-jpl/test/NightlyRun/runme.m	(revision 15733)
@@ -161,26 +161,40 @@
 				results = md.results.(fields{i});
 				errlog  = cellstr(results(1).errlog);
-				lines1  = strfind(errlog,'definitely lost:');
-				lines1  = find(~cellfun(@isempty,lines1));
-				lines2  = strfind(errlog,'Conditional jump or move depends on uninitialised value');
-				lines2  = find(~cellfun(@isempty,lines2));
-				jumps   = numel(lines2);
+
+				%Check leaks
+				lines  = strfind(errlog,'definitely lost:');
+				lines  = find(~cellfun(@isempty,lines));
 				leaks   = 0;
-				for j=1:numel(lines1)
-					Line    = errlog(lines1(j));
+				for j=1:numel(lines)
+					Line    = errlog(lines(j));
 					Numbers = sscanf(Line{1},'==%i==   definitely lost: %s bytes in %i blocks',[1 Inf]);
 					leaks   = leaks + str2num(strrep(char(Numbers(2:end-1)),',',''));
 				end
+				%Check conditional jumps
+				lines  = strfind(errlog,'Conditional jump or move depends on uninitialised value');
+				lines  = find(~cellfun(@isempty,lines));
+				jumps   = numel(lines);
+				%Check invalid read/write
+				lines  = strfind(errlog,'Invalid');
+				lines  = find(~cellfun(@isempty,lines));
+				inval  = numel(lines);
 				if leaks==0,
-					disp(sprintf(['SUCCESS difference: 0 < 0 test id: %i test name: %s field: valgrindleaks'],id,id_string));
-				else
-					disp(sprintf(['ERROR   difference: %i > 0 test id: %i test name: %s field: valgrindleaks'],leaks,id,id_string));
+					disp(sprintf(['SUCCESS difference: 0 < 0 test id: %i test name: %s field: valgrind mem. leaks'],id,id_string));
+				else
+					disp(sprintf(['ERROR   difference: %i > 0 test id: %i test name: %s field: valgrind mem. leaks'],leaks,id,id_string));
 					disp('STOP');
 					return;
 				end
 				if jumps==0,
-					disp(sprintf(['SUCCESS difference: 0 < 0 test id: %i test name: %s field: valgrindjumps'],id,id_string));
-				else
-					disp(sprintf(['ERROR   difference: %i > 0 test id: %i test name: %s field: valgrindjumps'],jumps,id,id_string));
+					disp(sprintf(['SUCCESS difference: 0 < 0 test id: %i test name: %s field: valgrind cond. jumps'],id,id_string));
+				else
+					disp(sprintf(['ERROR   difference: %i > 0 test id: %i test name: %s field: valgrind cond. jumps'],jumps,id,id_string));
+					disp('STOP');
+					return;
+				end
+				if inval==0,
+					disp(sprintf(['SUCCESS difference: 0 < 0 test id: %i test name: %s field: valgrind invalid read/write'],id,id_string));
+				else
+					disp(sprintf(['ERROR   difference: %i > 0 test id: %i test name: %s field: valgrind invalid read/write'],inval,id,id_string));
 					disp('STOP');
 					return;
