diff options
| author | John W. Linville <linville@tuxdriver.com> | 2012-09-07 15:07:55 -0400 | 
|---|---|---|
| committer | John W. Linville <linville@tuxdriver.com> | 2012-09-07 15:07:55 -0400 | 
| commit | fac805f8c198092de9a2842efd7f5022e2937b18 (patch) | |
| tree | 7557809c373f97a343c427d8fded0696060394ce /tools/perf/util/target.c | |
| parent | 2461c7d60f9f3821274e4acf9019cba8b82c94b5 (diff) | |
| parent | f10723841e624c0726c70356b31d91befed01dd6 (diff) | |
| download | olio-linux-3.10-fac805f8c198092de9a2842efd7f5022e2937b18.tar.xz olio-linux-3.10-fac805f8c198092de9a2842efd7f5022e2937b18.zip  | |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
Diffstat (limited to 'tools/perf/util/target.c')
| -rw-r--r-- | tools/perf/util/target.c | 11 | 
1 files changed, 10 insertions, 1 deletions
diff --git a/tools/perf/util/target.c b/tools/perf/util/target.c index 1064d5b148a..3f59c496e64 100644 --- a/tools/perf/util/target.c +++ b/tools/perf/util/target.c @@ -110,8 +110,17 @@ int perf_target__strerror(struct perf_target *target, int errnum,  	int idx;  	const char *msg; +	BUG_ON(buflen > 0); +  	if (errnum >= 0) { -		strerror_r(errnum, buf, buflen); +		const char *err = strerror_r(errnum, buf, buflen); + +		if (err != buf) { +			size_t len = strlen(err); +			char *c = mempcpy(buf, err, min(buflen - 1, len)); +			*c = '\0'; +		} +  		return 0;  	}  |