summaryrefslogtreecommitdiff
path: root/sys/src
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2019-02-25 04:08:13 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2019-02-25 04:08:13 +0100
commitac3e3c342fc32cd633599d85391827289b7ebdf5 (patch)
treec0d30b32732ec3f1fb068444b08b0127ee2a8c53 /sys/src
parenta7ab8158395039091ef1bad3f18748b77b9a4cdc (diff)
hgfs: fix %.*s usage in walk
Diffstat (limited to 'sys/src')
-rw-r--r--sys/src/cmd/hgfs/fs.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/src/cmd/hgfs/fs.c b/sys/src/cmd/hgfs/fs.c
index 09644b8a5..918f80d39 100644
--- a/sys/src/cmd/hgfs/fs.c
+++ b/sys/src/cmd/hgfs/fs.c
@@ -499,13 +499,13 @@ fswalk1(Fid *fid, char *name, Qid *qid)
if(nd == nil){
if(sname == name){
sname = strrchr(name, '.');
- if((i = sname - name) > 0){
+ if(sname && (i = utfnlen(name, sname - name)) > 0){
+ snprint(buf, sizeof(buf), "%.*s", i, name);
sname++;
if(strncmp(sname, "rev", 3) == 0){
level = Qtreerev;
sname += 3;
}
- snprint(buf, sizeof(buf), "%.*s", i, name);
if(*sname == 0)
i = 0;
else {