Since Arne has been active on his faster_calls branch I switched the
experiment stream on Coverity Scan to have a look at it. These are the
new issues if found when going from marty/optimised_map to
arne/faster_calls. Without looking closer I suspect the four in Image
isn't related to the optimizations code, but the two in interpreter
probably are.
If you want to have a look at them follow the link at the bottom.
Gives a better overview than the condensed ASCII in this mail.
--
Peter Bortas
---------- Forwarded message ----------
From:
scan-admin@coverity.com
Date: Sun, Apr 17, 2016 at 6:48 PM
Subject: [Pike-automation] New Defects reported by Coverity Scan for
Pike-experiment
To: pike-automation@lists.lysator.liu.se
Hi,
Please find the latest report on new defect(s) introduced to
Pike-experiment found with Coverity Scan.
6 new defect(s) introduced to Pike-experiment found with Coverity Scan.
1 defect(s), reported by Coverity Scan earlier, were marked fixed in
the recent build analyzed by Coverity Scan.
New defect(s) Reported-by: Coverity Scan
Showing 6 of 6 defect(s)
** CID 1358595: Incorrect expression (UNUSED_VALUE)
/home/covscan/pike/pike-git/src/interpret.c: 2202 in unlink_previous_frame()
________________________________________________________________________________________________________
*** CID 1358595: Incorrect expression (UNUSED_VALUE)
/home/covscan/pike/pike-git/src/interpret.c: 2202 in unlink_previous_frame()
2196 */
2197 current->save_sp=prev->save_sp;
2198 current->save_mark_sp=prev->save_mark_sp;
2199 current->flags = prev->flags;
2200
2201 /* Unlink the top frame temporarily. */
>>> CID 1358595: Incorrect expression (UNUSED_VALUE)
>>> Assigning value from "prev" to "Pike_interpreter_pointer->frame_pointer" here, but that stored value is overwritten before it can be used.
2202 Pike_interpreter.frame_pointer=prev;
2203
2204 #ifdef PROFILING
2205 {
2206 /* We must update the profiling info of the previous frame
2207 * to account for that the current frame has gone away.
** CID 1358594: Control flow issues (MISSING_BREAK)
/home/covscan/pike/pike-git/src/interpret.c: 1956 in do_trace_frame_call()
________________________________________________________________________________________________________
*** CID 1358594: Control flow issues (MISSING_BREAK)
/home/covscan/pike/pike-git/src/interpret.c: 1956 in do_trace_frame_call()
1950 safe_describe_svalue(&obj_sval, 0, NULL);
1951 obj_name = complex_free_buf(&save_buf);
1952 PIKE_FN_START(function->name->size_shift == 0 ?
1953 function->name->str : "[widestring fn name]",
1954 obj_name.str);
1955 }
>>> CID 1358594: Control flow issues (MISSING_BREAK)
>>> The above case falls through to this one.
1956 case FRAME_CLONE:
1957 case FRAME_PARENT_CLONE:
1958 if (UNLIKELY(Pike_interpreter.trace_level)) {
1959 struct svalue tmp;
1960 struct program *p = frame->ptr;
1961 dynamic_buffer save_buf;
** CID 1358593: Null pointer dereferences (FORWARD_NULL)
/home/covscan/pike/pike-git/src/modules/Image/match.h: 202 in
image_match_phase()
________________________________________________________________________________________________________
*** CID 1358593: Null pointer dereferences (FORWARD_NULL)
/home/covscan/pike/pike-git/src/modules/Image/match.h: 202 in
image_match_phase()
196 DOUBLE_LOOP(0,1,1, *1, *1, *1)
197 else if (type==2)
198 DOUBLE_LOOP(0, haystack_certi[j],
needle_certi[ny*nxs+nx],.r,.g,.b)
199 else if (type==3)
200 DOUBLE_LOOP(AVOID_IS_TOO_BIG,1,1, *1, *1, *1)
201 else if (type==4)
>>> CID 1358593: Null pointer dereferences (FORWARD_NULL)
>>> Dereferencing null pointer "haystack_certi".
202 DOUBLE_LOOP(AVOID_IS_TOO_BIG, haystack_certi[j],
needle_certi[ny*nxs+nx],.r,.g,.b)
203
204 #undef NORMCODE
205 #undef AVOID_IS_TOO_BIG
206 #undef PIXEL_VALUE_DISTANCE
207 #undef DOUBLE_LOOP
** CID 1358592: Null pointer dereferences (FORWARD_NULL)
/home/covscan/pike/pike-git/src/modules/Image/match.h: 202 in
image_match_norm_corr()
________________________________________________________________________________________________________
*** CID 1358592: Null pointer dereferences (FORWARD_NULL)
/home/covscan/pike/pike-git/src/modules/Image/match.h: 202 in
image_match_norm_corr()
196 DOUBLE_LOOP(0,1,1, *1, *1, *1)
197 else if (type==2)
198 DOUBLE_LOOP(0, haystack_certi[j],
needle_certi[ny*nxs+nx],.r,.g,.b)
199 else if (type==3)
200 DOUBLE_LOOP(AVOID_IS_TOO_BIG,1,1, *1, *1, *1)
201 else if (type==4)
>>> CID 1358592: Null pointer dereferences (FORWARD_NULL)
>>> Dereferencing null pointer "haystack_certi".
202 DOUBLE_LOOP(AVOID_IS_TOO_BIG, haystack_certi[j],
needle_certi[ny*nxs+nx],.r,.g,.b)
203
204 #undef NORMCODE
205 #undef AVOID_IS_TOO_BIG
206 #undef PIXEL_VALUE_DISTANCE
207 #undef DOUBLE_LOOP
** CID 1358591: Null pointer dereferences (FORWARD_NULL)
/home/covscan/pike/pike-git/src/modules/Image/match.h: 202 in image_match_norm()
________________________________________________________________________________________________________
*** CID 1358591: Null pointer dereferences (FORWARD_NULL)
/home/covscan/pike/pike-git/src/modules/Image/match.h: 202 in image_match_norm()
196 DOUBLE_LOOP(0,1,1, *1, *1, *1)
197 else if (type==2)
198 DOUBLE_LOOP(0, haystack_certi[j],
needle_certi[ny*nxs+nx],.r,.g,.b)
199 else if (type==3)
200 DOUBLE_LOOP(AVOID_IS_TOO_BIG,1,1, *1, *1, *1)
201 else if (type==4)
>>> CID 1358591: Null pointer dereferences (FORWARD_NULL)
>>> Dereferencing null pointer "haystack_certi".
202 DOUBLE_LOOP(AVOID_IS_TOO_BIG, haystack_certi[j],
needle_certi[ny*nxs+nx],.r,.g,.b)
203
204 #undef NORMCODE
205 #undef AVOID_IS_TOO_BIG
206 #undef PIXEL_VALUE_DISTANCE
207 #undef DOUBLE_LOOP
** CID 1358590: Null pointer dereferences (FORWARD_NULL)
/home/covscan/pike/pike-git/src/modules/Image/match.h: 202 in image_match()
________________________________________________________________________________________________________
*** CID 1358590: Null pointer dereferences (FORWARD_NULL)
/home/covscan/pike/pike-git/src/modules/Image/match.h: 202 in image_match()
196 DOUBLE_LOOP(0,1,1, *1, *1, *1)
197 else if (type==2)
198 DOUBLE_LOOP(0, haystack_certi[j],
needle_certi[ny*nxs+nx],.r,.g,.b)
199 else if (type==3)
200 DOUBLE_LOOP(AVOID_IS_TOO_BIG,1,1, *1, *1, *1)
201 else if (type==4)
>>> CID 1358590: Null pointer dereferences (FORWARD_NULL)
>>> Dereferencing null pointer "haystack_certi".
202 DOUBLE_LOOP(AVOID_IS_TOO_BIG, haystack_certi[j],
needle_certi[ny*nxs+nx],.r,.g,.b)
203
204 #undef NORMCODE
205 #undef AVOID_IS_TOO_BIG
206 #undef PIXEL_VALUE_DISTANCE
207 #undef DOUBLE_LOOP
________________________________________________________________________________________________________
To view the defects in Coverity Scan visit,
https://scan.coverity.com/projects/pike-experiment?tab=overview