Date: Thu, 24 Apr 2014 11:33:23 GMT From: Henning Petersen <henning.petersen@t-online.de> To: freebsd-gnats-submit@FreeBSD.org Subject: bin/188951: Undefined behavior at line 135 in part_wizard.c (snprintf). Message-ID: <201404241133.s3OBXNv5004511@cgiserv.freebsd.org> Resent-Message-ID: <201404241140.s3OBe0Po029769@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 188951
>Category: bin
>Synopsis: Undefined behavior at line 135 in part_wizard.c (snprintf).
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Apr 24 11:40:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator: Henning Petersen
>Release: FreeBSD-current
>Organization:
>Environment:
>Description:
Undefined behavior in snprintf found by cppcheck.
>How-To-Repeat:
>Fix:
Patch attached with submission follows:
--- usr.sbin/bsdinstall/partedit/part_wizard.c (revision 264867)
+++ usr.sbin/bsdinstall/partedit/part_wizard.c (working copy)
@@ -130,9 +130,13 @@
else
strcat(diskdesc, " Disk");
- if (desc != NULL)
- snprintf(diskdesc, sizeof(diskdesc),
- "%s <%s>", diskdesc, desc);
+ if (desc != NULL) {
+ size_t len;
+ len = strlen(diskdesc);
+ snprintf(diskdesc + len,
+ sizeof(diskdesc) - len,
+ " <%s>", desc);
+ }
disks[n-1].text = strdup(diskdesc);
disks[n-1].help = NULL;
>Release-Note:
>Audit-Trail:
>Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201404241133.s3OBXNv5004511>
