Module Name:    src
Committed By:   christos
Date:           Thu Mar 27 15:50:48 UTC 2014

Modified Files:
        src/external/cddl/osnet/dist/cmd/dtrace: dtrace.c
        src/external/cddl/osnet/dist/cmd/zdb: zdb.c
        src/external/cddl/osnet/dist/cmd/ztest: ztest.c
        src/external/cddl/osnet/dist/lib/libdtrace/arm: dt_isadep.c
        src/external/cddl/osnet/dist/lib/libdtrace/common: dt_handle.c
            dt_link.c dt_subr.c
        src/external/cddl/osnet/dist/lib/libzpool/common: util.c
        src/external/cddl/osnet/dist/tools/ctf/cvt: merge.c
        src/external/cddl/osnet/dist/uts/common/dtrace: dtrace.c fasttrap.c
        src/external/cddl/osnet/dist/uts/common/fs/zfs: ddt.c spa.c
            zfs_vfsops.c zfs_znode.c zio.c zvol.c
        src/external/cddl/osnet/dist/uts/common/fs/zfs/sys: ddt.h
        src/external/cddl/osnet/dist/uts/common/sys: cmn_err.h

Log Message:
kill sprintf


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/cddl/osnet/dist/cmd/dtrace/dtrace.c
cvs rdiff -u -r1.1.1.2 -r1.2 src/external/cddl/osnet/dist/cmd/zdb/zdb.c
cvs rdiff -u -r1.4 -r1.5 src/external/cddl/osnet/dist/cmd/ztest/ztest.c
cvs rdiff -u -r1.1 -r1.2 \
    src/external/cddl/osnet/dist/lib/libdtrace/arm/dt_isadep.c
cvs rdiff -u -r1.3 -r1.4 \
    src/external/cddl/osnet/dist/lib/libdtrace/common/dt_handle.c
cvs rdiff -u -r1.4 -r1.5 \
    src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c
cvs rdiff -u -r1.7 -r1.8 \
    src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c
cvs rdiff -u -r1.1.1.1 -r1.2 \
    src/external/cddl/osnet/dist/lib/libzpool/common/util.c
cvs rdiff -u -r1.3 -r1.4 src/external/cddl/osnet/dist/tools/ctf/cvt/merge.c
cvs rdiff -u -r1.26 -r1.27 \
    src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c
cvs rdiff -u -r1.3 -r1.4 \
    src/external/cddl/osnet/dist/uts/common/dtrace/fasttrap.c
cvs rdiff -u -r1.1.1.1 -r1.2 \
    src/external/cddl/osnet/dist/uts/common/fs/zfs/ddt.c
cvs rdiff -u -r1.5 -r1.6 src/external/cddl/osnet/dist/uts/common/fs/zfs/spa.c
cvs rdiff -u -r1.9 -r1.10 \
    src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c
cvs rdiff -u -r1.15 -r1.16 \
    src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c
cvs rdiff -u -r1.3 -r1.4 src/external/cddl/osnet/dist/uts/common/fs/zfs/zio.c
cvs rdiff -u -r1.4 -r1.5 \
    src/external/cddl/osnet/dist/uts/common/fs/zfs/zvol.c
cvs rdiff -u -r1.1.1.1 -r1.2 \
    src/external/cddl/osnet/dist/uts/common/fs/zfs/sys/ddt.h
cvs rdiff -u -r1.1.1.1 -r1.2 \
    src/external/cddl/osnet/dist/uts/common/sys/cmn_err.h

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/cmd/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/cmd/dtrace/dtrace.c:1.2 src/external/cddl/osnet/dist/cmd/dtrace/dtrace.c:1.3
--- src/external/cddl/osnet/dist/cmd/dtrace/dtrace.c:1.2	Sat Feb 20 19:49:54 2010
+++ src/external/cddl/osnet/dist/cmd/dtrace/dtrace.c	Thu Mar 27 11:50:48 2014
@@ -953,7 +953,7 @@ bufhandler(const dtrace_bufdata_t *bufda
 			uint8_t *data;
 			int lim = rec->dtrd_size;
 
-			(void) sprintf(buf, "%d (data: ", rec->dtrd_offset);
+			(void) snprintf(buf, end, "%d (data: ", rec->dtrd_offset);
 			c = buf + strlen(buf);
 
 			if (lim > sizeof (uint64_t))

Index: src/external/cddl/osnet/dist/cmd/zdb/zdb.c
diff -u src/external/cddl/osnet/dist/cmd/zdb/zdb.c:1.1.1.2 src/external/cddl/osnet/dist/cmd/zdb/zdb.c:1.2
--- src/external/cddl/osnet/dist/cmd/zdb/zdb.c:1.1.1.2	Sat Feb 27 17:29:30 2010
+++ src/external/cddl/osnet/dist/cmd/zdb/zdb.c	Thu Mar 27 11:50:48 2014
@@ -572,7 +572,7 @@ dump_dde(const ddt_t *ddt, const ddt_ent
 		if (ddp->ddp_phys_birth == 0)
 			continue;
 		ddt_bp_create(ddt->ddt_checksum, ddk, ddp, &blk);
-		sprintf_blkptr(blkbuf, &blk);
+		snprintf_blkptr(blkbuf, sizeof(blkbuf), &blk);
 		(void) printf("index %llx refcnt %llu %s %s\n",
 		    (u_longlong_t)index, (u_longlong_t)ddp->ddp_refcnt,
 		    types[p], blkbuf);
@@ -822,25 +822,30 @@ blkid2offset(const dnode_phys_t *dnp, co
 }
 
 static void
-sprintf_blkptr_compact(char *blkbuf, blkptr_t *bp)
+snprintf_blkptr_compact(char *blkbuf, size_t blklen, blkptr_t *bp)
 {
 	dva_t *dva = bp->blk_dva;
 	int ndvas = dump_opt['d'] > 5 ? BP_GET_NDVAS(bp) : 1;
+	size_t len;
 
 	if (dump_opt['b'] >= 5) {
-		sprintf_blkptr(blkbuf, bp);
+		snprintf_blkptr(blkbuf, blklen, bp);
 		return;
 	}
 
 	blkbuf[0] = '\0';
 
-	for (int i = 0; i < ndvas; i++)
-		(void) sprintf(blkbuf + strlen(blkbuf), "%llu:%llx:%llx ",
+	len = 0;
+	for (int i = 0; i < ndvas; i++) {
+		len += snprintf(blkbuf + len, blklen - len, "%llu:%llx:%llx ",
 		    (u_longlong_t)DVA_GET_VDEV(&dva[i]),
 		    (u_longlong_t)DVA_GET_OFFSET(&dva[i]),
 		    (u_longlong_t)DVA_GET_ASIZE(&dva[i]));
+		if (len > blklen)
+			len = blklen;
+	}
 
-	(void) sprintf(blkbuf + strlen(blkbuf),
+	snprintf(blkbuf + len, blklen - len,
 	    "%llxL/%llxP F=%llu B=%llu/%llu",
 	    (u_longlong_t)BP_GET_LSIZE(bp),
 	    (u_longlong_t)BP_GET_PSIZE(bp),
@@ -871,7 +876,7 @@ print_indirect(blkptr_t *bp, const zbook
 		}
 	}
 
-	sprintf_blkptr_compact(blkbuf, bp);
+	snprintf_blkptr_compact(blkbuf, sizeof(blkbuf), bp);
 	(void) printf("%s\n", blkbuf);
 }
 
@@ -1010,7 +1015,7 @@ dump_dsl_dataset(objset_t *os, uint64_t 
 	nicenum(ds->ds_compressed_bytes, compressed);
 	nicenum(ds->ds_uncompressed_bytes, uncompressed);
 	nicenum(ds->ds_unique_bytes, unique);
-	sprintf_blkptr(blkbuf, &ds->ds_bp);
+	snprintf_blkptr(blkbuf, sizeof(blkbuf), &ds->ds_bp);
 
 	(void) printf("\t\tdir_obj = %llu\n",
 	    (u_longlong_t)ds->ds_dir_obj);
@@ -1093,7 +1098,7 @@ dump_bplist(objset_t *mos, uint64_t obje
 		char blkbuf[BP_SPRINTF_LEN];
 
 		ASSERT(bp->blk_birth != 0);
-		sprintf_blkptr_compact(blkbuf, bp);
+		snprintf_blkptr_compact(blkbuf, sizeof(blkbuf), bp);
 		(void) printf("\tItem %3llu: %s\n",
 		    (u_longlong_t)itor - 1, blkbuf);
 	}
@@ -1300,7 +1305,7 @@ dump_object(objset_t *os, uint64_t objec
 	nicenum(doi.doi_max_offset, lsize);
 	nicenum(doi.doi_physical_blocks_512 << 9, asize);
 	nicenum(doi.doi_bonus_size, bonus_size);
-	(void) sprintf(fill, "%6.2f", 100.0 * doi.doi_fill_count *
+	(void) snprintf(fill, "%6.2f", 100.0 * doi.doi_fill_count *
 	    doi.doi_data_block_size / (object == 0 ? DNODES_PER_BLOCK : 1) /
 	    doi.doi_max_offset);
 
@@ -1397,6 +1402,7 @@ dump_dir(objset_t *os)
 	int verbosity = dump_opt['d'];
 	int print_header = 1;
 	int i, error;
+	size_t len;
 
 	dmu_objset_fast_stat(os, &dds);
 
@@ -1417,8 +1423,10 @@ dump_dir(objset_t *os)
 	nicenum(refdbytes, numbuf);
 
 	if (verbosity >= 4) {
-		(void) sprintf(blkbuf, ", rootbp ");
-		(void) sprintf_blkptr(blkbuf + strlen(blkbuf), os->os_rootbp);
+		len = snprintf(blkbuf, blklen, ", rootbp ");
+		if (len > blklen)
+			len = blklen;
+		printf_blkptr(blkbuf + len, blklen - len, os->os_rootbp);
 	} else {
 		blkbuf[0] = '\0';
 	}
@@ -1490,7 +1498,7 @@ dump_uberblock(uberblock_t *ub, const ch
 	    (u_longlong_t)ub->ub_timestamp, asctime(localtime(&timestamp)));
 	if (dump_opt['u'] >= 3) {
 		char blkbuf[BP_SPRINTF_LEN];
-		sprintf_blkptr(blkbuf, &ub->ub_rootbp);
+		snprintf_blkptr(blkbuf, sizeof(blkbuf), &ub->ub_rootbp);
 		(void) printf("\trootbp = %s\n", blkbuf);
 	}
 	(void) printf(footer ? footer : "");
@@ -1785,7 +1793,7 @@ zdb_blkptr_cb(spa_t *spa, zilog_t *zilog
 			zcb->zcb_errors[ioerr]++;
 
 			if (dump_opt['b'] >= 2)
-				sprintf_blkptr(blkbuf, bp);
+				snprintf_blkptr(blkbuf, sizeof(blkbuf), bp);
 			else
 				blkbuf[0] = '\0';
 
@@ -1804,7 +1812,7 @@ zdb_blkptr_cb(spa_t *spa, zilog_t *zilog
 	zcb->zcb_readfails = 0;
 
 	if (dump_opt['b'] >= 4) {
-		sprintf_blkptr(blkbuf, bp);
+		snprintf_blkptr(blkbuf, sizeof(blkbuf), bp);
 		(void) printf("objset %llu object %llu "
 		    "level %lld offset 0x%llx %s\n",
 		    (u_longlong_t)zb->zb_objset,
@@ -1978,7 +1986,7 @@ dump_block_stats(spa_t *spa)
 		while (bplist_iterate(bpl, &itor, &blk) == 0) {
 			if (dump_opt['b'] >= 4) {
 				char blkbuf[BP_SPRINTF_LEN];
-				sprintf_blkptr(blkbuf, &blk);
+				snprintf_blkptr(blkbuf, sizeof(blkbuf), &blk);
 				(void) printf("[%s] %s\n",
 				    "deferred free", blkbuf);
 			}
@@ -2303,7 +2311,7 @@ zdb_print_blkptr(blkptr_t *bp, int flags
 	if (flags & ZDB_FLAG_BSWAP)
 		byteswap_uint64_array((void *)bp, sizeof (blkptr_t));
 
-	sprintf_blkptr(blkbuf, bp);
+	snprintf_blkptr(blkbuf, sizeof(blkbuf), bp);
 	(void) printf("%s\n", blkbuf);
 }
 

Index: src/external/cddl/osnet/dist/cmd/ztest/ztest.c
diff -u src/external/cddl/osnet/dist/cmd/ztest/ztest.c:1.4 src/external/cddl/osnet/dist/cmd/ztest/ztest.c:1.5
--- src/external/cddl/osnet/dist/cmd/ztest/ztest.c:1.4	Sat Feb 27 18:43:52 2010
+++ src/external/cddl/osnet/dist/cmd/ztest/ztest.c	Thu Mar 27 11:50:48 2014
@@ -378,17 +378,21 @@ fatal(int do_perror, char *message, ...)
 	va_list args;
 	int save_errno = errno;
 	char buf[FATAL_MSG_SZ];
+	size_t len, blklen = sizeof(buf);
 
 	(void) fflush(stdout);
 
 	va_start(args, message);
-	(void) sprintf(buf, "ztest: ");
+	len = snprintf(buf, blklen, "ztest: ");
+	if (len > blklen)
+		len = blklen;
 	/* LINTED */
-	(void) vsprintf(buf + strlen(buf), message, args);
+	len += vsnprintf(buf + len, blklen - len, message, args);
 	va_end(args);
+	if (len > blklen)
+		len = blklen;
 	if (do_perror) {
-		(void) snprintf(buf + strlen(buf), FATAL_MSG_SZ - strlen(buf),
-		    ": %s", strerror(save_errno));
+		snprintf(buf + len, blklen - len, ": %s", strerror(save_errno));
 	}
 	(void) fprintf(stderr, "%s\n", buf);
 	fatal_msg = buf;			/* to ease debugging */
@@ -650,11 +654,11 @@ make_vdev_file(char *path, char *aux, si
 
 		if (aux != NULL) {
 			vdev = ztest_shared->zs_vdev_aux;
-			(void) sprintf(path, ztest_aux_template,
+			(void) snprintf(path, sizeof(pathbuf), ztest_aux_template,
 			    zopt_dir, zopt_pool, aux, vdev);
 		} else {
 			vdev = ztest_shared->zs_vdev_next_leaf++;
-			(void) sprintf(path, ztest_dev_template,
+			(void) snprintf(path, sizeof(pathbuf), ztest_dev_template,
 			    zopt_dir, zopt_pool, vdev);
 		}
 	}
@@ -2235,7 +2239,7 @@ ztest_vdev_aux_add_remove(ztest_ds_t *zd
 		for (;;) {
 			char path[MAXPATHLEN];
 			int c;
-			(void) sprintf(path, ztest_aux_template, zopt_dir,
+			(void) snprintf(path, sizeof(pathbuf), ztest_aux_template, zopt_dir,
 			    zopt_pool, aux, zs->zs_vdev_aux);
 			for (c = 0; c < sav->sav_count; c++)
 				if (strcmp(sav->sav_vdevs[c]->vdev_path,
@@ -3760,8 +3764,8 @@ ztest_zap(ztest_ds_t *zd, uint64_t id)
 	ints = MAX(ZTEST_ZAP_MIN_INTS, object % ZTEST_ZAP_MAX_INTS);
 
 	prop = ztest_random(ZTEST_ZAP_MAX_PROPS);
-	(void) sprintf(propname, "prop_%llu", (u_longlong_t)prop);
-	(void) sprintf(txgname, "txg_%llu", (u_longlong_t)prop);
+	(void) snprintf(propname, sizeof(propname), "prop_%llu", (u_longlong_t)prop);
+	(void) snprintf(txgname, sizeof(txgname), "txg_%llu", (u_longlong_t)prop);
 	bzero(value, sizeof (value));
 	last_txg = 0;
 
@@ -3822,8 +3826,8 @@ ztest_zap(ztest_ds_t *zd, uint64_t id)
 	 * Remove a random pair of entries.
 	 */
 	prop = ztest_random(ZTEST_ZAP_MAX_PROPS);
-	(void) sprintf(propname, "prop_%llu", (u_longlong_t)prop);
-	(void) sprintf(txgname, "txg_%llu", (u_longlong_t)prop);
+	(void) snprintf(propname, sizeof(propname), "prop_%llu", (u_longlong_t)prop);
+	(void) snprintf(txgname, sizeof(txgname), "txg_%llu", (u_longlong_t)prop);
 
 	error = zap_length(os, object, txgname, &zl_intsize, &zl_ints);
 
@@ -4719,7 +4723,7 @@ ztest_run_zdb(char *pool)
 	isalen = ztest - isa;
 	isa = strdup(isa);
 	/* LINTED */
-	(void) sprintf(bin,
+	(void) snprintf(bin, sizeof(zdb) - (bin - zdb),
 	    "/usr/sbin%.*s/zdb -bcc%s%s -U /tmp/zpool.cache %s",
 	    isalen,
 	    isa,
@@ -5292,7 +5296,7 @@ ztest_freeze(ztest_shared_t *zs)
 }
 
 void
-print_time(hrtime_t t, char *timebuf)
+print_time(hrtime_t t, char *timebuf, size_t timelen)
 {
 	hrtime_t s = t / NANOSEC;
 	hrtime_t m = s / 60;
@@ -5306,14 +5310,14 @@ print_time(hrtime_t t, char *timebuf)
 	timebuf[0] = '\0';
 
 	if (d)
-		(void) sprintf(timebuf,
+		(void) snprintf(timebuf, timelen,
 		    "%llud%02lluh%02llum%02llus", d, h, m, s);
 	else if (h)
-		(void) sprintf(timebuf, "%lluh%02llum%02llus", h, m, s);
+		(void) snprintf(timebuf, timelen, "%lluh%02llum%02llus", h, m, s);
 	else if (m)
-		(void) sprintf(timebuf, "%llum%02llus", m, s);
+		(void) snprintf(timebuf, timelen, "%llum%02llus", m, s);
 	else
-		(void) sprintf(timebuf, "%llus", s);
+		(void) snprintf(timebuf, timelen, "%llus", s);
 }
 
 static nvlist_t *
@@ -5503,7 +5507,7 @@ main(int argc, char **argv)
 			hrtime_t now = gethrtime();
 
 			now = MIN(now, zs->zs_proc_stop);
-			print_time(zs->zs_proc_stop - now, timebuf);
+			print_time(zs->zs_proc_stop - now, timebuf, sizeof(timebuf));
 			nicenum(zs->zs_space, numbuf);
 
 			(void) printf("Pass %3d, %8s, %3llu ENOSPC, "
@@ -5527,7 +5531,7 @@ main(int argc, char **argv)
 				Dl_info dli;
 
 				zi = &zs->zs_info[f];
-				print_time(zi->zi_call_time, timebuf);
+				print_time(zi->zi_call_time, timebuf, sizeof(timebuf));
 				(void) dladdr((void *)zi->zi_func, &dli);
 				(void) printf("%7llu %9s   %s\n",
 				    (u_longlong_t)zi->zi_call_count, timebuf,

Index: src/external/cddl/osnet/dist/lib/libdtrace/arm/dt_isadep.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/arm/dt_isadep.c:1.1 src/external/cddl/osnet/dist/lib/libdtrace/arm/dt_isadep.c:1.2
--- src/external/cddl/osnet/dist/lib/libdtrace/arm/dt_isadep.c:1.1	Fri Jun 21 15:16:00 2013
+++ src/external/cddl/osnet/dist/lib/libdtrace/arm/dt_isadep.c	Thu Mar 27 11:50:48 2014
@@ -167,7 +167,7 @@ dt_pid_create_glob_offset_probes(struct 
 		char name[sizeof (i) * 2 + 1];
 
 		for (i = 0; i < symp->st_size; i += 4) {
-			(void) sprintf(name, "%lx", i);
+			(void) snprintf(name, sizeof(name), "%lx", i);
 			if (gmatch(name, pattern))
 				ftp->ftps_offs[ftp->ftps_noffs++] = i;
 		}

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_handle.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_handle.c:1.3 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_handle.c:1.4
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_handle.c:1.3	Sun Jan 12 12:49:30 2014
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_handle.c	Thu Mar 27 11:50:48 2014
@@ -192,13 +192,13 @@ dt_handle_err(dtrace_hdl_t *dtp, dtrace_
 	str = (char *)alloca(len);
 
 	if (err.dteda_action == 0) {
-		(void) sprintf(where, "predicate");
+		(void) snprintf(where, sizeof(where), "predicate");
 	} else {
-		(void) sprintf(where, "action #%d", err.dteda_action);
+		(void) snprintf(where, sizeof(where), "action #%d", err.dteda_action);
 	}
 
 	if (err.dteda_offset != -1) {
-		(void) sprintf(offinfo, " at DIF offset %d", err.dteda_offset);
+		(void) snprintf(offinfo, sizeof(offinfo), " at DIF offset %d", err.dteda_offset);
 	} else {
 		offinfo[0] = 0;
 	}
@@ -207,7 +207,7 @@ dt_handle_err(dtrace_hdl_t *dtp, dtrace_
 	case DTRACEFLT_BADADDR:
 	case DTRACEFLT_BADALIGN:
 	case DTRACEFLT_BADSTACK:
-		(void) sprintf(details, " (0x%" PRIx64 ")", err.dteda_addr);
+		(void) snprintf(details, sizeof(details), " (0x%" PRIx64 ")", err.dteda_addr);
 		break;
 
 	default:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c:1.4 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c:1.5
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c:1.4	Sun Jan 12 12:49:30 2014
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c	Thu Mar 27 11:50:48 2014
@@ -1496,7 +1496,8 @@ process_obj(dtrace_hdl_t *dtp, const cha
 				(void) gelf_update_sym(data_sym, isym, &dsym);
 
 				r = (char *)data_str->d_buf + istr;
-				istr += 1 + sprintf(r, dt_symfmt,
+				istr += 1 + snprintf(r, data_str->d_size - 
+					(istr - (char *)data_str->d_buf), dt_symfmt,
 				    dt_symprefix, objkey, s);
 				isym++;
 				assert(isym <= nsym);

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c:1.7 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c:1.8
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c:1.7	Sun Jan 12 12:49:30 2014
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c	Thu Mar 27 11:50:48 2014
@@ -553,9 +553,9 @@ dt_write(dtrace_hdl_t *dtp, int fd, cons
 /*
  * This function handles all output from libdtrace, as well as the
  * dtrace_sprintf() case.  If we're here due to dtrace_sprintf(), then
- * dt_sprintf_buflen will be non-zero; in this case, we sprintf into the
+ * dt_sprintf_buflen will be non-zero; in this case, we snprintf into the
  * specified buffer and return.  Otherwise, if output is buffered (denoted by
- * a NULL fp), we sprintf the desired output into the buffered buffer
+ * a NULL fp), we snprintf the desired output into the buffered buffer
  * (expanding the buffer if required).  If we don't satisfy either of these
  * conditions (that is, if we are to actually generate output), then we call
  * fprintf with the specified fp.  In this case, we need to deal with one of

Index: src/external/cddl/osnet/dist/lib/libzpool/common/util.c
diff -u src/external/cddl/osnet/dist/lib/libzpool/common/util.c:1.1.1.1 src/external/cddl/osnet/dist/lib/libzpool/common/util.c:1.2
--- src/external/cddl/osnet/dist/lib/libzpool/common/util.c:1.1.1.1	Fri Aug  7 14:32:47 2009
+++ src/external/cddl/osnet/dist/lib/libzpool/common/util.c	Thu Mar 27 11:50:48 2014
@@ -38,7 +38,7 @@
  */
 
 void
-nicenum(uint64_t num, char *buf)
+nicenum(uint64_t num, char *buf, size_t buflen)
 {
 	uint64_t n = num;
 	int index = 0;
@@ -52,15 +52,15 @@ nicenum(uint64_t num, char *buf)
 	u = " KMGTPE"[index];
 
 	if (index == 0) {
-		(void) sprintf(buf, "%llu", (u_longlong_t)n);
+		(void) snprintf(buf, buflen, "%llu", (u_longlong_t)n);
 	} else if (n < 10 && (num & (num - 1)) != 0) {
-		(void) sprintf(buf, "%.2f%c",
+		(void) snprintf(buf, buflen, "%.2f%c",
 		    (double)num / (1ULL << 10 * index), u);
 	} else if (n < 100 && (num & (num - 1)) != 0) {
-		(void) sprintf(buf, "%.1f%c",
+		(void) snprintf(buf, buflen, "%.1f%c",
 		    (double)num / (1ULL << 10 * index), u);
 	} else {
-		(void) sprintf(buf, "%llu%c", (u_longlong_t)n, u);
+		(void) snprintf(buf, buflen, "%llu%c", (u_longlong_t)n, u);
 	}
 }
 
@@ -96,15 +96,15 @@ show_vdev_stats(const char *desc, const 
 
 		sec = MAX(1, vs->vs_timestamp / NANOSEC);
 
-		nicenum(vs->vs_alloc, used);
-		nicenum(vs->vs_space - vs->vs_alloc, avail);
-		nicenum(vs->vs_ops[ZIO_TYPE_READ] / sec, rops);
-		nicenum(vs->vs_ops[ZIO_TYPE_WRITE] / sec, wops);
-		nicenum(vs->vs_bytes[ZIO_TYPE_READ] / sec, rbytes);
-		nicenum(vs->vs_bytes[ZIO_TYPE_WRITE] / sec, wbytes);
-		nicenum(vs->vs_read_errors, rerr);
-		nicenum(vs->vs_write_errors, werr);
-		nicenum(vs->vs_checksum_errors, cerr);
+		nicenum(vs->vs_alloc, used, size(used));
+		nicenum(vs->vs_space - vs->vs_alloc, avail, sizeof(avail));
+		nicenum(vs->vs_ops[ZIO_TYPE_READ] / sec, rops, sizeof(rops));
+		nicenum(vs->vs_ops[ZIO_TYPE_WRITE] / sec, wops, sizeof(wops));
+		nicenum(vs->vs_bytes[ZIO_TYPE_READ] / sec, rbytes, sizeof(rbytes));
+		nicenum(vs->vs_bytes[ZIO_TYPE_WRITE] / sec, wbytes, sizeof(wbytes));
+		nicenum(vs->vs_read_errors, rerr, sizeof(rerr));
+		nicenum(vs->vs_write_errors, werr, sizeof(werr));
+		nicenum(vs->vs_checksum_errors, cerr, sizeof(cerr));
 
 		(void) printf("%*s%s%*s%*s%*s %5s %5s %5s %5s %5s %5s %5s\n",
 		    indent, "",

Index: src/external/cddl/osnet/dist/tools/ctf/cvt/merge.c
diff -u src/external/cddl/osnet/dist/tools/ctf/cvt/merge.c:1.3 src/external/cddl/osnet/dist/tools/ctf/cvt/merge.c:1.4
--- src/external/cddl/osnet/dist/tools/ctf/cvt/merge.c:1.3	Wed Feb 24 16:53:26 2010
+++ src/external/cddl/osnet/dist/tools/ctf/cvt/merge.c	Thu Mar 27 11:50:48 2014
@@ -702,7 +702,8 @@ remap_node(tdesc_t **tgtp, tdesc_t *oldt
 	}
 
 	if ((template.t_id = get_mapping(mcd->md_ta, oldid)) == 0)
-		aborterr("failed to get mapping for tid %d <%x>\n", oldid, oldid);
+		aborterr("failed to get mapping for tid %d (%s) <%x>\n", oldid,
+		    oldtgt->t_name, oldid);
 
 	if (!hash_find(mcd->md_parent->td_idhash, (void *)&template,
 	    (void *)&tgt) && (!(mcd->md_flags & MCD_F_REFMERGE) ||

Index: src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.26 src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.27
--- src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.26	Thu Mar  6 21:37:16 2014
+++ src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c	Thu Mar 27 11:50:48 2014
@@ -5641,7 +5641,7 @@ dtrace_action_breakpoint(dtrace_ecb_t *e
 	ASSERT(probe != NULL);
 
 	/*
-	 * This is a poor man's (destitute man's?) sprintf():  we want to
+	 * This is a poor man's (destitute man's?) snprintf():  we want to
 	 * print the provider name, module name, function name and name of
 	 * the probe, along with the hex address of the ECB with the breakpoint
 	 * action -- all of which we must place in the character buffer by

Index: src/external/cddl/osnet/dist/uts/common/dtrace/fasttrap.c
diff -u src/external/cddl/osnet/dist/uts/common/dtrace/fasttrap.c:1.3 src/external/cddl/osnet/dist/uts/common/dtrace/fasttrap.c:1.4
--- src/external/cddl/osnet/dist/uts/common/dtrace/fasttrap.c:1.3	Sat Feb 27 18:43:53 2010
+++ src/external/cddl/osnet/dist/uts/common/dtrace/fasttrap.c	Thu Mar 27 11:50:48 2014
@@ -1578,7 +1578,7 @@ fasttrap_add_probe(fasttrap_probe_spec_t
 		for (i = 0; i < pdata->ftps_noffs; i++) {
 			char name_str[17];
 
-			(void) sprintf(name_str, "%llx",
+			(void) snprintf(name_str, sizeof(name_str), "%llx",
 			    (unsigned long long)pdata->ftps_offs[i]);
 
 			if (dtrace_probe_lookup(provider->ftp_provid,

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/ddt.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/ddt.c:1.1.1.1 src/external/cddl/osnet/dist/uts/common/fs/zfs/ddt.c:1.2
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/ddt.c:1.1.1.1	Sat Feb 27 17:31:38 2010
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/ddt.c	Thu Mar 27 11:50:48 2014
@@ -56,7 +56,7 @@ ddt_object_create(ddt_t *ddt, enum ddt_t
 	boolean_t prehash = zio_checksum_table[ddt->ddt_checksum].ci_dedup;
 	char name[DDT_NAMELEN];
 
-	ddt_object_name(ddt, type, class, name);
+	ddt_object_name(ddt, type, class, name, sizeof(name));
 
 	ASSERT(*objectp == 0);
 	VERIFY(ddt_ops[type]->ddt_op_create(os, objectp, tx, prehash) == 0);
@@ -79,7 +79,7 @@ ddt_object_destroy(ddt_t *ddt, enum ddt_
 	uint64_t *objectp = &ddt->ddt_object[type][class];
 	char name[DDT_NAMELEN];
 
-	ddt_object_name(ddt, type, class, name);
+	ddt_object_name(ddt, type, class, name, sizeof(name));
 
 	ASSERT(*objectp != 0);
 	ASSERT(ddt_object_count(ddt, type, class) == 0);
@@ -97,7 +97,7 @@ ddt_object_load(ddt_t *ddt, enum ddt_typ
 	char name[DDT_NAMELEN];
 	int error;
 
-	ddt_object_name(ddt, type, class, name);
+	ddt_object_name(ddt, type, class, name, sizeof(name));
 
 	error = zap_lookup(ddt->ddt_os, DMU_POOL_DIRECTORY_OBJECT, name,
 	    sizeof (uint64_t), 1, &ddt->ddt_object[type][class]);
@@ -119,7 +119,7 @@ ddt_object_sync(ddt_t *ddt, enum ddt_typ
 {
 	char name[DDT_NAMELEN];
 
-	ddt_object_name(ddt, type, class, name);
+	ddt_object_name(ddt, type, class, name, sizeof(name));
 
 	VERIFY(zap_update(ddt->ddt_os, ddt->ddt_spa->spa_ddt_stat_object, name,
 	    sizeof (uint64_t), sizeof (ddt_histogram_t) / sizeof (uint64_t),
@@ -195,9 +195,9 @@ ddt_object_exists(ddt_t *ddt, enum ddt_t
 
 void
 ddt_object_name(ddt_t *ddt, enum ddt_type type, enum ddt_class class,
-    char *name)
+    char *name, size_t namelen)
 {
-	(void) sprintf(name, DMU_POOL_DDT,
+	(void) snprintf(name, namelen, DMU_POOL_DDT,
 	    zio_checksum_table[ddt->ddt_checksum].ci_name,
 	    ddt_ops[type]->ddt_op_name, ddt_class_name[class]);
 }

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/spa.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/spa.c:1.5 src/external/cddl/osnet/dist/uts/common/fs/zfs/spa.c:1.6
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/spa.c:1.5	Sat Nov 19 21:54:25 2011
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/spa.c	Thu Mar 27 11:50:48 2014
@@ -3731,10 +3731,10 @@ spa_vdev_attach(spa_t *spa, uint64_t gui
 	 * to make it distinguishable from newvd, and unopenable from now on.
 	 */
 	if (strcmp(oldvd->vdev_path, newvd->vdev_path) == 0) {
+		size_t plen = strlen(newvd->vdev_path) + 5;
 		spa_strfree(oldvd->vdev_path);
-		oldvd->vdev_path = kmem_alloc(strlen(newvd->vdev_path) + 5,
-		    KM_SLEEP);
-		(void) sprintf(oldvd->vdev_path, "%s/%s",
+		oldvd->vdev_path = kmem_alloc(plen, KM_SLEEP);
+		snprintf(oldvd->vdev_path, plen, "%s/%s",
 		    newvd->vdev_path, "old");
 		if (oldvd->vdev_devid != NULL) {
 			spa_strfree(oldvd->vdev_devid);

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.9 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.10
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.9	Mon Mar 17 05:37:41 2014
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c	Thu Mar 27 11:50:48 2014
@@ -768,7 +768,7 @@ zfs_userspace_many(zfsvfs_t *zfsvfs, zfs
  */
 static int
 id_to_fuidstr(zfsvfs_t *zfsvfs, const char *domain, uid_t rid,
-    char *buf, boolean_t addok)
+    char *buf, size_t buflen, boolean_t addok)
 {
 	uint64_t fuid;
 	int domainid = 0;
@@ -779,7 +779,7 @@ id_to_fuidstr(zfsvfs_t *zfsvfs, const ch
 			return (ENOENT);
 	}
 	fuid = FUID_ENCODE(domainid, rid);
-	(void) sprintf(buf, "%llx", (longlong_t)fuid);
+	(void) snprintf(buf, buflen, "%llx", (longlong_t)fuid);
 	return (0);
 }
 
@@ -800,7 +800,7 @@ zfs_userspace_one(zfsvfs_t *zfsvfs, zfs_
 	if (obj == 0)
 		return (0);
 
-	err = id_to_fuidstr(zfsvfs, domain, rid, buf, B_FALSE);
+	err = id_to_fuidstr(zfsvfs, domain, rid, buf, sizeof(buf), FALSE);
 	if (err)
 		return (err);
 
@@ -829,7 +829,7 @@ zfs_set_userquota(zfsvfs_t *zfsvfs, zfs_
 	objp = (type == ZFS_PROP_USERQUOTA) ? &zfsvfs->z_userquota_obj :
 	    &zfsvfs->z_groupquota_obj;
 
-	err = id_to_fuidstr(zfsvfs, domain, rid, buf, B_TRUE);
+	err = id_to_fuidstr(zfsvfs, domain, rid, buf, sizeof(buf), B_TRUE);
 	if (err)
 		return (err);
 	fuid_dirtied = zfsvfs->z_fuid_dirty;
@@ -884,7 +884,7 @@ zfs_usergroup_overquota(zfsvfs_t *zfsvfs
 	if (quotaobj == 0 || zfsvfs->z_replay)
 		return (B_FALSE);
 
-	(void) sprintf(buf, "%llx", (longlong_t)fuid);
+	(void) snprintf(buf, sizeof(buf), "%llx", (longlong_t)fuid);
 	err = zap_lookup(zfsvfs->z_os, quotaobj, buf, 8, 1, &quota);
 	if (err != 0)
 		return (B_FALSE);

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c:1.15 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c:1.16
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c:1.15	Mon Oct 21 11:31:26 2013
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c	Thu Mar 27 11:50:48 2014
@@ -1683,7 +1683,8 @@ zfs_obj_to_path(objset_t *osp, uint64_t 
 
 		component[0] = '/';
 		if (is_xattrdir) {
-			(void) sprintf(component + 1, "<xattrdir>");
+			(void) snprintf(component + 1, sizeof(component) - 1,
+			    "<xattrdir>");
 		} else {
 			error = zap_value_search(osp, pobj, obj,
 			    ZFS_DIRENT_OBJ(-1ULL), component + 1);

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/zio.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zio.c:1.3 src/external/cddl/osnet/dist/uts/common/fs/zfs/zio.c:1.4
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zio.c:1.3	Sat Feb 27 18:43:53 2010
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zio.c	Thu Mar 27 11:50:48 2014
@@ -132,12 +132,14 @@ zio_init(void)
 
 		if (align != 0) {
 			char name[36];
-			(void) sprintf(name, "zio_buf_%lu", (ulong_t)size);
+			(void) snprintf(name, sizeof(name), "zio_buf_%lu",
+			    (ulong_t)size);
 			zio_buf_cache[c] = kmem_cache_create(name, size,
 			    align, NULL, NULL, NULL, NULL, NULL,
 			    size > zio_buf_debug_limit ? KMC_NODEBUG : 0);
 
-			(void) sprintf(name, "zio_data_buf_%lu", (ulong_t)size);
+			(void) snprintf(name, sizeof(name), "zio_data_buf_%lu",
+			    (ulong_t)size);
 			zio_data_buf_cache[c] = kmem_cache_create(name, size,
 			    align, NULL, NULL, NULL, NULL, data_alloc_arena,
 			    size > zio_buf_debug_limit ? KMC_NODEBUG : 0);

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/zvol.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zvol.c:1.4 src/external/cddl/osnet/dist/uts/common/fs/zfs/zvol.c:1.5
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zvol.c:1.4	Thu Jun 24 09:03:05 2010
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zvol.c	Thu Mar 27 11:50:48 2014
@@ -509,7 +509,7 @@ zvol_create_minor(const char *name)
 	devpath = kmem_alloc(devpathlen, KM_SLEEP);
 	
 	/* Get full path to ZFS volume disk device */
-	(void) sprintf(devpath, "%s/%s", ZVOL_FULL_DEV_DIR, name);
+	(void) snprintf(devpath, devpathlen, "%s/%s", ZVOL_FULL_DEV_DIR, name);
 	
 	error = lookupname(devpath, UIO_SYSSPACE, NULL, &vp);
 	

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/sys/ddt.h
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/sys/ddt.h:1.1.1.1 src/external/cddl/osnet/dist/uts/common/fs/zfs/sys/ddt.h:1.2
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/sys/ddt.h:1.1.1.1	Sat Feb 27 17:31:46 2010
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/sys/ddt.h	Thu Mar 27 11:50:48 2014
@@ -166,7 +166,7 @@ typedef struct ddt_ops {
 #define	DDT_NAMELEN	80
 
 extern void ddt_object_name(ddt_t *ddt, enum ddt_type type,
-    enum ddt_class class, char *name);
+    enum ddt_class class, char *name, size_t namelen);
 extern int ddt_object_walk(ddt_t *ddt, enum ddt_type type,
     enum ddt_class class, uint64_t *walk, ddt_entry_t *dde);
 extern uint64_t ddt_object_count(ddt_t *ddt, enum ddt_type type,

Index: src/external/cddl/osnet/dist/uts/common/sys/cmn_err.h
diff -u src/external/cddl/osnet/dist/uts/common/sys/cmn_err.h:1.1.1.1 src/external/cddl/osnet/dist/uts/common/sys/cmn_err.h:1.2
--- src/external/cddl/osnet/dist/uts/common/sys/cmn_err.h:1.1.1.1	Fri Feb 19 23:34:31 2010
+++ src/external/cddl/osnet/dist/uts/common/sys/cmn_err.h	Thu Mar 27 11:50:48 2014
@@ -103,11 +103,6 @@ extern size_t snprintf(char *, size_t, c
     __KPRINTFLIKE(3);
 extern size_t vsnprintf(char *, size_t, const char *, __va_list)
     __KVPRINTFLIKE(3);
-/*PRINTFLIKE2*/
-extern char *sprintf(char *, const char *, ...)
-    __KPRINTFLIKE(2);
-extern char *vsprintf(char *, const char *, __va_list)
-    __KVPRINTFLIKE(2);
 
 /*PRINTFLIKE1*/
 extern void panic(const char *, ...)

Reply via email to