shithub: riscv

Download patch

ref: 4ae38efc1c28c968d2c5e26d305d917dd25b6594
parent: b4e34c1c74bcd83ea407d5c2b759b7e551ba9a3e
author: cinap_lenrek <cinap_lenrek@gmx.de>
date: Tue Dec 4 01:06:28 EST 2012

ape/mv: check if from path fits and error if too long

--- a/sys/src/ape/cmd/mv.c
+++ b/sys/src/ape/cmd/mv.c
@@ -85,7 +85,13 @@
 	char *fromdir, *fromelem;
 	Dir *dirt, null;
 
-	strncpy(fromname, from, sizeof fromname);
+	i = strlen(from);
+	if(i >= sizeof(fromname)){
+		fprint(2, "mv: path too big (max %d): %s\n",
+			sizeof(fromname), from);
+		return -1;
+	}
+	memmove(fromname, from, i+1);
 	split(from, &fromdir, &fromelem);
 	if(toelem == 0)
 		toelem = fromelem;
--