浏览代码

ntb_perf: potential info leak in debugfs

This is a static checker warning, not something I'm desperately
concerned about.  But snprintf() returns the number of bytes that
would have been copied if there were space.  We really care about the
number of bytes that actually were copied so we should use scnprintf()
instead.

It probably won't overrun, and in that case we may as well just use
sprintf() but these sorts of things make static checkers and code
reviewers happier.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
Dan Carpenter 8 年之前
父节点
当前提交
819baf8859
共有 1 个文件被更改,包括 3 次插入3 次删除
  1. 3 3
      drivers/ntb/test/ntb_perf.c

+ 3 - 3
drivers/ntb/test/ntb_perf.c

@@ -589,7 +589,7 @@ static ssize_t debugfs_run_read(struct file *filp, char __user *ubuf,
 		return -ENOMEM;
 		return -ENOMEM;
 
 
 	if (mutex_is_locked(&perf->run_mutex)) {
 	if (mutex_is_locked(&perf->run_mutex)) {
-		out_off = snprintf(buf, 64, "running\n");
+		out_off = scnprintf(buf, 64, "running\n");
 		goto read_from_buf;
 		goto read_from_buf;
 	}
 	}
 
 
@@ -600,14 +600,14 @@ static ssize_t debugfs_run_read(struct file *filp, char __user *ubuf,
 			break;
 			break;
 
 
 		if (pctx->status) {
 		if (pctx->status) {
-			out_off += snprintf(buf + out_off, 1024 - out_off,
+			out_off += scnprintf(buf + out_off, 1024 - out_off,
 					    "%d: error %d\n", i,
 					    "%d: error %d\n", i,
 					    pctx->status);
 					    pctx->status);
 			continue;
 			continue;
 		}
 		}
 
 
 		rate = div64_u64(pctx->copied, pctx->diff_us);
 		rate = div64_u64(pctx->copied, pctx->diff_us);
-		out_off += snprintf(buf + out_off, 1024 - out_off,
+		out_off += scnprintf(buf + out_off, 1024 - out_off,
 			"%d: copied %llu bytes in %llu usecs, %llu MBytes/s\n",
 			"%d: copied %llu bytes in %llu usecs, %llu MBytes/s\n",
 			i, pctx->copied, pctx->diff_us, rate);
 			i, pctx->copied, pctx->diff_us, rate);
 	}
 	}