summaryrefslogtreecommitdiff
path: root/sys/src/cmd/aux/depend.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2019-02-25 04:18:30 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2019-02-25 04:18:30 +0100
commitb4b4d2286bc0e7a4906bd00931b54b5d96099887 (patch)
tree44a83642274850cc53bf70285327b8effaeb8699 /sys/src/cmd/aux/depend.c
parentbc5b85c37c2d966b6d65dededcfe4f9dd38eed9d (diff)
aux/depend: fix %.*s format in path concatenation
Diffstat (limited to 'sys/src/cmd/aux/depend.c')
-rw-r--r--sys/src/cmd/aux/depend.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/src/cmd/aux/depend.c b/sys/src/cmd/aux/depend.c
index 0a06ed710..36d63149e 100644
--- a/sys/src/cmd/aux/depend.c
+++ b/sys/src/cmd/aux/depend.c
@@ -1379,7 +1379,9 @@ getfile(Dfile *df, File *f)
f->use++;
if(f->fd < 0){
name = strrchr(df->path, '/') + 1;
- n = snprint(path, sizeof path, "%.*s/%s", (int)(name-df->path), df->path, f->name);
+ n = snprint(path, sizeof path, "%.*s/%s",
+ utfnlen(df->path, name-df->path), df->path,
+ f->name);
if(n >= sizeof path - UTFmax){
syslog(0, dependlog, "path name too long: %.20s.../%.20s...", df->path, f->name);
return -1;