Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 665aa8cd authored by Dan Carpenter's avatar Dan Carpenter Committed by Borislav Petkov
Browse files

ghes_edac: Use snprintf() to silence a static checker warning



My static checker complains because the "e->location" has up to 256
characters but we are copying it into the "pvt->detail_location" which
only has space for 240 characters.  That's not counting the surrounding
text and the "e->other_detail" string which can be over 80 characters
long.

I am not familiar with this code but presumably it normally works.
Let's add a limit though for safety.

Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Acked-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
Link: http://lkml.kernel.org/r/20140801082514.GD28869@mwanda


Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
parent f5b10c45
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -413,8 +413,8 @@ void ghes_edac_report_mem_error(struct ghes *ghes, int sev,


	/* Generate the trace event */
	/* Generate the trace event */
	grain_bits = fls_long(e->grain);
	grain_bits = fls_long(e->grain);
	sprintf(pvt->detail_location, "APEI location: %s %s",
	snprintf(pvt->detail_location, sizeof(pvt->detail_location),
		e->location, e->other_detail);
		 "APEI location: %s %s", e->location, e->other_detail);
	trace_mc_event(type, e->msg, e->label, e->error_count,
	trace_mc_event(type, e->msg, e->label, e->error_count,
		       mci->mc_idx, e->top_layer, e->mid_layer, e->low_layer,
		       mci->mc_idx, e->top_layer, e->mid_layer, e->low_layer,
		       PAGES_TO_MiB(e->page_frame_number) | e->offset_in_page,
		       PAGES_TO_MiB(e->page_frame_number) | e->offset_in_page,