Module Name: src
Committed By: apb
Date: Thu Mar 27 19:34:39 UTC 2014
Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_printf.c
Log Message:
format is a pointer, so sizeof(format) is not a good length
to pass to snprintf. Try to calculate the correct length,
taking into account the amount of space already used.
To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c:1.4 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c:1.5
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c:1.4 Wed Feb 20 22:45:12 2013
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c Thu Mar 27 19:34:39 2014
@@ -1861,10 +1861,10 @@ dtrace_printf_format(dtrace_hdl_t *dtp,
*f++ = '@';
if (width != 0)
- f += snprintf(f, sizeof (format), "%d", width);
+ f += snprintf(f, format + formatlen - f, "%d", width);
if (prec != 0)
- f += snprintf(f, sizeof (format), ".%d", prec);
+ f += snprintf(f, format + formatlen - f, ".%d", prec);
/*
* If the output format is %s, then either %s is the underlying