Coverity-updates archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

New Defects reported by Coverity Scan for NetBSD-i386-user



Hi,
Please find the latest report on new defect(s) introduced to NetBSD-i386-user found with Coverity Scan.
910 new defect(s) introduced to NetBSD-i386-user found with Coverity Scan.
47 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 20 of 910 defect(s)
** CID 141373: Buffer not null terminated (BUFFER_SIZE_WARNING)
/sys/external/bsd/drm2/dist/drm/i915/intel_tv.c: 1415 in intel_tv_get_modes()
** CID 141381: Unchecked return value (CHECKED_RETURN)
/sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c: 2928 in intel_sdvo_create_enhance_property()
** CID 141432: Missing break in switch (MISSING_BREAK)
/sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c: 2275 in intel_sdvo_guess_ddc_bus()
** CID 141433: Missing break in switch (MISSING_BREAK)
/sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c: 2269 in intel_sdvo_guess_ddc_bus()
** CID 141434: Missing break in switch (MISSING_BREAK)
/sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c: 2273 in intel_sdvo_guess_ddc_bus()
** CID 141435: Missing break in switch (MISSING_BREAK)
/sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c: 2277 in intel_sdvo_guess_ddc_bus()
** CID 141436: Missing break in switch (MISSING_BREAK)
/sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c: 2271 in intel_sdvo_guess_ddc_bus()
** CID 200527: Inferred misuse of enum (MIXED_ENUMS)
/sys/external/bsd/drm2/dist/drm/i915/intel_display.c: 10658 in intel_crtc_init()
** CID 741133: Logically dead code (DEADCODE)
/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h: 2410 in i915_gem_object_pin_fence()
** CID 741134: Logically dead code (DEADCODE)
/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: 3901 in i915_gem_object_get_fence()
** CID 741135: Logically dead code (DEADCODE)
/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: 3814 in i915_gem_object_put_fence()
** CID 741235: Missing break in switch (MISSING_BREAK)
/sys/external/bsd/drm2/dist/drm/i915/i915_gpu_error.c: 1288 in i915_get_extra_instdone()
** CID 741246: Negative array index read (NEGATIVE_RETURNS)
/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: 3469 in i915_gem_object_sync()
** CID 976668: Argument cannot be negative (NEGATIVE_RETURNS)
/crypto/external/bsd/heimdal/dist/lib/roken/resolve.c: 561 in dns_lookup_int()
** CID 976987: Dereference null return value (NULL_RETURNS)
/sys/ufs/chfs/chfs_readinode.c: 767 in chfs_add_full_dnode_to_inode()
** CID 980099: Unchecked return value (CHECKED_RETURN)
/sys/external/bsd/drm/dist/bsd-core/drm_bufs.c: 329 in drm_rmmap_user()
** CID 980100: Unchecked return value (CHECKED_RETURN)
/sys/external/bsd/drm/dist/bsd-core/via_dmablit.c: 242 in via_lock_all_dma_pages()
** CID 1007806: Out-of-bounds access (OVERRUN)
/sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c: 1909 in intel_sdvo_get_tv_modes()
** CID 1009048: Missing parentheses (CONSTANT_EXPRESSION_RESULT)
/sys/external/bsd/drm2/dist/drm/i915/i915_dma.c: 116 in i915_write_hws_pga()
** CID 1056510: Missing break in switch (MISSING_BREAK)
/sys/external/bsd/drm2/dist/drm/i915/intel_display.c: 7217 in haswell_get_pipe_config()
________________________________________________________________________________________________________
*** CID 141373: Buffer not null terminated (BUFFER_SIZE_WARNING)
/sys/external/bsd/drm2/dist/drm/i915/intel_tv.c: 1415 in intel_tv_get_modes()
1409 					&& !tv_mode->component_only))
1410 			continue;
1411 
1412 		mode_ptr = drm_mode_create(connector->dev);
1413 		if (!mode_ptr)
1414 			continue;
>>> CID 141373: Buffer not null terminated (BUFFER_SIZE_WARNING)
>>> Calling strncpy with a maximum size argument of 32 bytes on destination array "mode_ptr->name" of size 32 bytes might leave the destination string unterminated.
1415 		strncpy(mode_ptr->name, input->name, DRM_DISPLAY_MODE_LEN);
1416 
1417 		mode_ptr->hdisplay = hactive_s;
1418 		mode_ptr->hsync_start = hactive_s + 1;
1419 		mode_ptr->hsync_end = hactive_s + 64;
1420 		if (mode_ptr->hsync_end <= mode_ptr->hsync_start)
________________________________________________________________________________________________________
*** CID 141381: Unchecked return value (CHECKED_RETURN)
/sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c: 2928 in intel_sdvo_create_enhance_property()
2922 		uint16_t response;
2923 	} enhancements;
2924 
2925 	BUILD_BUG_ON(sizeof(enhancements) != 2);
2926 
2927 	enhancements.response = 0;
>>> CID 141381: Unchecked return value (CHECKED_RETURN)
>>> No check of the return value of "intel_sdvo_get_value(intel_sdvo, 132, &enhancements, 2)".
2928 	intel_sdvo_get_value(intel_sdvo,
2929 			 SDVO_CMD_GET_SUPPORTED_ENHANCEMENTS,
2930 			 &enhancements, sizeof(enhancements));
2931 	if (enhancements.response == 0) {
2932 		DRM_DEBUG_KMS("No enhancement is supported\n");
2933 		return true;
________________________________________________________________________________________________________
*** CID 141432: Missing break in switch (MISSING_BREAK)
/sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c: 2275 in intel_sdvo_guess_ddc_bus()
2269 	case SDVO_OUTPUT_LVDS0:
2270 		mask |= SDVO_OUTPUT_LVDS0;
2271 	case SDVO_OUTPUT_TMDS1:
2272 		mask |= SDVO_OUTPUT_TMDS1;
2273 	case SDVO_OUTPUT_TMDS0:
2274 		mask |= SDVO_OUTPUT_TMDS0;
>>> CID 141432: Missing break in switch (MISSING_BREAK)
>>> The above case falls through to this one.
2275 	case SDVO_OUTPUT_RGB1:
2276 		mask |= SDVO_OUTPUT_RGB1;
2277 	case SDVO_OUTPUT_RGB0:
2278 		mask |= SDVO_OUTPUT_RGB0;
2279 		break;
2280 	}
________________________________________________________________________________________________________
*** CID 141433: Missing break in switch (MISSING_BREAK)
/sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c: 2269 in intel_sdvo_guess_ddc_bus()
2263 	/* Make a mask of outputs less than or equal to our own priority in the
2264 	 * list.
2265 	 */
2266 	switch (sdvo->controlled_output) {
2267 	case SDVO_OUTPUT_LVDS1:
2268 		mask |= SDVO_OUTPUT_LVDS1;
>>> CID 141433: Missing break in switch (MISSING_BREAK)
>>> The above case falls through to this one.
2269 	case SDVO_OUTPUT_LVDS0:
2270 		mask |= SDVO_OUTPUT_LVDS0;
2271 	case SDVO_OUTPUT_TMDS1:
2272 		mask |= SDVO_OUTPUT_TMDS1;
2273 	case SDVO_OUTPUT_TMDS0:
2274 		mask |= SDVO_OUTPUT_TMDS0;
________________________________________________________________________________________________________
*** CID 141434: Missing break in switch (MISSING_BREAK)
/sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c: 2273 in intel_sdvo_guess_ddc_bus()
2267 	case SDVO_OUTPUT_LVDS1:
2268 		mask |= SDVO_OUTPUT_LVDS1;
2269 	case SDVO_OUTPUT_LVDS0:
2270 		mask |= SDVO_OUTPUT_LVDS0;
2271 	case SDVO_OUTPUT_TMDS1:
2272 		mask |= SDVO_OUTPUT_TMDS1;
>>> CID 141434: Missing break in switch (MISSING_BREAK)
>>> The above case falls through to this one.
2273 	case SDVO_OUTPUT_TMDS0:
2274 		mask |= SDVO_OUTPUT_TMDS0;
2275 	case SDVO_OUTPUT_RGB1:
2276 		mask |= SDVO_OUTPUT_RGB1;
2277 	case SDVO_OUTPUT_RGB0:
2278 		mask |= SDVO_OUTPUT_RGB0;
________________________________________________________________________________________________________
*** CID 141435: Missing break in switch (MISSING_BREAK)
/sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c: 2277 in intel_sdvo_guess_ddc_bus()
2271 	case SDVO_OUTPUT_TMDS1:
2272 		mask |= SDVO_OUTPUT_TMDS1;
2273 	case SDVO_OUTPUT_TMDS0:
2274 		mask |= SDVO_OUTPUT_TMDS0;
2275 	case SDVO_OUTPUT_RGB1:
2276 		mask |= SDVO_OUTPUT_RGB1;
>>> CID 141435: Missing break in switch (MISSING_BREAK)
>>> The above case falls through to this one.
2277 	case SDVO_OUTPUT_RGB0:
2278 		mask |= SDVO_OUTPUT_RGB0;
2279 		break;
2280 	}
2281 
2282 	/* Count bits to find what number we are in the priority list. */
________________________________________________________________________________________________________
*** CID 141436: Missing break in switch (MISSING_BREAK)
/sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c: 2271 in intel_sdvo_guess_ddc_bus()
2265 	 */
2266 	switch (sdvo->controlled_output) {
2267 	case SDVO_OUTPUT_LVDS1:
2268 		mask |= SDVO_OUTPUT_LVDS1;
2269 	case SDVO_OUTPUT_LVDS0:
2270 		mask |= SDVO_OUTPUT_LVDS0;
>>> CID 141436: Missing break in switch (MISSING_BREAK)
>>> The above case falls through to this one.
2271 	case SDVO_OUTPUT_TMDS1:
2272 		mask |= SDVO_OUTPUT_TMDS1;
2273 	case SDVO_OUTPUT_TMDS0:
2274 		mask |= SDVO_OUTPUT_TMDS0;
2275 	case SDVO_OUTPUT_RGB1:
2276 		mask |= SDVO_OUTPUT_RGB1;
________________________________________________________________________________________________________
*** CID 200527: Inferred misuse of enum (MIXED_ENUMS)
/sys/external/bsd/drm2/dist/drm/i915/intel_display.c: 10658 in intel_crtc_init()
10652 
10653 	/*
10654 	 * On gen2/3 only plane A can do fbc, but the panel fitter and lvds port
10655 	 * is hooked to plane B. Hence we want plane A feeding pipe B.
10656 	 */
10657 	intel_crtc->pipe = pipe;
>>> CID 200527: Inferred misuse of enum (MIXED_ENUMS)
>>> Mixing enum types enum i915_pipe and enum plane for "pipe".
10658 	intel_crtc->plane = pipe;
10659 	if (HAS_FBC(dev) && INTEL_INFO(dev)->gen < 4) {
10660 		DRM_DEBUG_KMS("swapping pipes & planes for FBC\n");
10661 		intel_crtc->plane = !pipe;
10662 	}
10663 
________________________________________________________________________________________________________
*** CID 741133: Logically dead code (DEADCODE)
/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h: 2410 in i915_gem_object_pin_fence()
2404 {
2405 	if (obj->fence_reg != I915_FENCE_REG_NONE) {
2406 		struct drm_i915_private *dev_priv = obj->base.dev->dev_private;
2407 		dev_priv->fence_regs[obj->fence_reg].pin_count++;
2408 		return true;
2409 	} else
>>> CID 741133: Logically dead code (DEADCODE)
>>> Execution cannot reach this statement "return false;".
2410 		return false;
2411 }
2412 
2413 static inline void
2414 i915_gem_object_unpin_fence(struct drm_i915_gem_object *obj)
2415 {
________________________________________________________________________________________________________
*** CID 741134: Logically dead code (DEADCODE)
/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: 3901 in i915_gem_object_get_fence()
3895 		reg = &dev_priv->fence_regs[obj->fence_reg];
3896 		if (!obj->fence_dirty) {
3897 			list_move_tail(&reg->lru_list,
3898 				 &dev_priv->mm.fence_list);
3899 			return 0;
3900 		}
>>> CID 741134: Logically dead code (DEADCODE)
>>> Execution cannot reach this statement "if (enable){
 reg = i915_f...".
3901 	} else if (enable) {
3902 		reg = i915_find_fence_reg(dev);
3903 		if (IS_ERR(reg))
3904 			return PTR_ERR(reg);
3905 
3906 		if (reg->obj) {
________________________________________________________________________________________________________
*** CID 741135: Logically dead code (DEADCODE)
/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: 3814 in i915_gem_object_put_fence()
3808 
3809 	ret = i915_gem_object_wait_fence(obj);
3810 	if (ret)
3811 		return ret;
3812 
3813 	if (obj->fence_reg == I915_FENCE_REG_NONE)
>>> CID 741135: Logically dead code (DEADCODE)
>>> Execution cannot reach this statement "return 0;".
3814 		return 0;
3815 
3816 	fence = &dev_priv->fence_regs[obj->fence_reg];
3817 
3818 	i915_gem_object_fence_lost(obj);
3819 	i915_gem_object_update_fence(obj, fence, false);
________________________________________________________________________________________________________
*** CID 741235: Missing break in switch (MISSING_BREAK)
/sys/external/bsd/drm2/dist/drm/i915/i915_gpu_error.c: 1288 in i915_get_extra_instdone()
1282 	case 6:
1283 		instdone[0] = I915_READ(INSTDONE_I965);
1284 		instdone[1] = I915_READ(INSTDONE1);
1285 		break;
1286 	default:
1287 		WARN_ONCE(1, "Unsupported platform\n");
>>> CID 741235: Missing break in switch (MISSING_BREAK)
>>> The above case falls through to this one.
1288 	case 7:
1289 	case 8:
1290 		instdone[0] = I915_READ(GEN7_INSTDONE_1);
1291 		instdone[1] = I915_READ(GEN7_SC_INSTDONE);
1292 		instdone[2] = I915_READ(GEN7_SAMPLER_INSTDONE);
1293 		instdone[3] = I915_READ(GEN7_ROW_INSTDONE);
1294 		break;
1295 	}
________________________________________________________________________________________________________
*** CID 741246: Negative array index read (NEGATIVE_RETURNS)
/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: 3469 in i915_gem_object_sync()
3463 	if (to == NULL || !i915_semaphore_is_enabled(obj->base.dev))
3464 		return i915_gem_object_wait_rendering(obj, false);
3465 
3466 	idx = intel_ring_sync_index(from, to);
3467 
3468 	seqno = obj->last_read_seqno;
>>> CID 741246: Negative array index read (NEGATIVE_RETURNS)
>>> Using variable "idx" as an index to array "from->sync_seqno".
3469 	if (seqno <= from->sync_seqno[idx])
3470 		return 0;
3471 
3472 	ret = i915_gem_check_olr(obj->ring, seqno);
3473 	if (ret)
3474 		return ret;
________________________________________________________________________________________________________
*** CID 976668: Argument cannot be negative (NEGATIVE_RETURNS)
/crypto/external/bsd/heimdal/dist/lib/roken/resolve.c: 561 in dns_lookup_int()
555 #elif defined(HAVE_RES_NSEARCH)
556 	 state.options |= RES_DEBUG;
557 #endif
558 	 fprintf(stderr, "dns_lookup(%s, %d, %s), buffer size %d\n", domain,
559 		 rr_class, rk_dns_type_to_string(rr_type), len);
560 	}
>>> CID 976668: Argument cannot be negative (NEGATIVE_RETURNS)
>>> "len" is passed to a parameter that cannot be negative.
561 	reply = malloc(len);
562 	if (reply == NULL) {
563 	 resolve_free_handle(handle);
564 	 return NULL;
565 	}
566 
________________________________________________________________________________________________________
*** CID 976987: Dereference null return value (NULL_RETURNS)
/sys/ufs/chfs/chfs_readinode.c: 767 in chfs_add_full_dnode_to_inode()
761 
762 	/* Check previous fragment. */
763 	if (newfrag->ofs & (PAGE_SIZE - 1)) {
764 		struct chfs_node_frag *prev = frag_prev(&ip->fragtree, newfrag);
765 
766 		CHFS_MARK_REF_NORMAL(fd->nref);
>>> CID 976987: Dereference null return value (NULL_RETURNS)
>>> Dereferencing a null pointer "prev".
767 		if (prev->node)
768 			CHFS_MARK_REF_NORMAL(prev->node->nref);
769 	}
770 
771 	/* Check next fragment. */
772 	if ((newfrag->ofs+newfrag->size) & (PAGE_SIZE - 1)) {
________________________________________________________________________________________________________
*** CID 980099: Unchecked return value (CHECKED_RETURN)
/sys/external/bsd/drm/dist/bsd-core/drm_bufs.c: 329 in drm_rmmap_user()
323 	paddr_t pa;
324 	struct vm_page *pg;
325 
326 	va = (vaddr_t)addr;
327 	eva = va + size;
328 	for (; va < eva; va += PAGE_SIZE) {
>>> CID 980099: Unchecked return value (CHECKED_RETURN)
>>> No check of the return value of "pmap_extract(kernel_pmap_ptr, va, &pa)".
329 		pmap_extract(pmap_kernel(), va, &pa);
330 		pg = PHYS_TO_VM_PAGE(pa);
331 		pmap_page_protect(pg, VM_PROT_NONE);
332 	}
333 }
334 
________________________________________________________________________________________________________
*** CID 980100: Unchecked return value (CHECKED_RETURN)
/sys/external/bsd/drm/dist/bsd-core/via_dmablit.c: 242 in via_lock_all_dma_pages()
236 
237 	if (uvm_vslock(curproc->p_vmspace, xfer->mem_addr,
238 	 vsg->num_pages * PAGE_SIZE, VM_PROT_READ | VM_PROT_WRITE) != 0)
239 		return -EACCES;
240 
241 	for (i = 0; i < vsg->num_pages; i++) {
>>> CID 980100: Unchecked return value (CHECKED_RETURN)
>>> No check of the return value of "pmap_extract(x86_curlwp()->l_proc->p_vmspace->vm_map.pmap, (vaddr_t)xfer->mem_addr + i * 4096, &pa)".
242 		pmap_extract(vm_map_pmap(&curproc->p_vmspace->vm_map),
243 		 (vaddr_t)xfer->mem_addr + (i * PAGE_SIZE), &pa);
244 		vsg->pages[i] = PHYS_TO_VM_PAGE(pa);
245 		if (vsg->pages[i] == NULL)
246 			break;
247 	}
________________________________________________________________________________________________________
*** CID 1007806: Out-of-bounds access (OVERRUN)
/sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c: 1909 in intel_sdvo_get_tv_modes()
1903 		 connector->base.id, drm_get_connector_name(connector));
1904 
1905 	/* Read the list of supported input resolutions for the selected TV
1906 	 * format.
1907 	 */
1908 	format_map = 1 << intel_sdvo->tv_format_index;
>>> CID 1007806: Out-of-bounds access (OVERRUN)
>>> Overrunning struct type intel_sdvo_sdtv_resolution_request of 3 bytes by passing it to a function which accesses it at byte offset 3 using argument "min(4U, 3U)" (which evaluates to 4).
1909 	memcpy(&tv_res, &format_map,
1910 	 min(sizeof(format_map), sizeof(struct intel_sdvo_sdtv_resolution_request)));
1911 
1912 	if (!intel_sdvo_set_target_output(intel_sdvo, intel_sdvo->attached_output))
1913 		return;
1914 
________________________________________________________________________________________________________
*** CID 1009048: Missing parentheses (CONSTANT_EXPRESSION_RESULT)
/sys/external/bsd/drm2/dist/drm/i915/i915_dma.c: 116 in i915_write_hws_pga()
110 {
111 	struct drm_i915_private *dev_priv = dev->dev_private;
112 	u32 addr;
113 
114 	addr = dev_priv->status_page_dmah->busaddr;
115 	if (INTEL_INFO(dev)->gen >= 4)
>>> CID 1009048: Missing parentheses (CONSTANT_EXPRESSION_RESULT)
>>> "(dev_priv->status_page_dmah->busaddr >> 28) & 240" is always 0 regardless of the values of its operands. This occurs as the bitwise operand of '|='. Did you intend to apply '&' to "28" and "240"? If so, parentheses would be required to force this interpretation.
116 		addr |= (dev_priv->status_page_dmah->busaddr >> 28) & 0xf0;
117 	I915_WRITE(HWS_PGA, addr);
118 }
119 
120 /**
121 * Frees the hardware status page, whether it's a physical address or a virtual
________________________________________________________________________________________________________
*** CID 1056510: Missing break in switch (MISSING_BREAK)
/sys/external/bsd/drm2/dist/drm/i915/intel_display.c: 7217 in haswell_get_pipe_config()
7211 	tmp = I915_READ(TRANS_DDI_FUNC_CTL(TRANSCODER_EDP));
7212 	if (tmp & TRANS_DDI_FUNC_ENABLE) {
7213 		enum i915_pipe trans_edp_pipe;
7214 		switch (tmp & TRANS_DDI_EDP_INPUT_MASK) {
7215 		default:
7216 			WARN(1, "unknown pipe linked to edp transcoder\n");
>>> CID 1056510: Missing break in switch (MISSING_BREAK)
>>> The above case falls through to this one.
7217 		case TRANS_DDI_EDP_INPUT_A_ONOFF:
7218 		case TRANS_DDI_EDP_INPUT_A_ON:
7219 			trans_edp_pipe = PIPE_A;
7220 			break;
7221 		case TRANS_DDI_EDP_INPUT_B_ONOFF:
7222 			trans_edp_pipe = PIPE_B;
________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, http://scan.coverity.com/projects/1448?tab=overview
To unsubscribe from the email notification for new defects, http://scan5.coverity.com/cgi-bin/unsubscribe.py


Home | Main Index | Thread Index | Old Index

AltStyle によって変換されたページ (->オリジナル) /