Index: uspace/srv/vfs/vfs_ops.c
===================================================================
--- uspace/srv/vfs/vfs_ops.c	(revision 47a67083af2250b8ad3776688b418510be1e0583)
+++ uspace/srv/vfs/vfs_ops.c	(revision 6700ee21f041b24393a08a0078514ea1a569aac3)
@@ -805,15 +805,15 @@
 void vfs_rename(ipc_callid_t rid, ipc_call_t *request)
 {
-	size_t len;
+	size_t olen, nlen;
 	ipc_callid_t callid;
 	int rc;
 
 	/* Retrieve the old path. */
-	if (!ipc_data_write_receive(&callid, &len)) {
+	if (!ipc_data_write_receive(&callid, &olen)) {
 		ipc_answer_0(callid, EINVAL);
 		ipc_answer_0(rid, EINVAL);
 		return;
 	}
-	char *old = malloc(len + 1);
+	char *old = malloc(olen + 1);
 	if (!old) {
 		ipc_answer_0(callid, ENOMEM);
@@ -821,13 +821,13 @@
 		return;
 	}
-	if ((rc = ipc_data_write_finalize(callid, old, len))) {
-		ipc_answer_0(rid, rc);
-		free(old);
-		return;
-	}
-	old[len] = '\0';
+	if ((rc = ipc_data_write_finalize(callid, old, olen))) {
+		ipc_answer_0(rid, rc);
+		free(old);
+		return;
+	}
+	old[olen] = '\0';
 	
 	/* Retrieve the new path. */
-	if (!ipc_data_write_receive(&callid, &len)) {
+	if (!ipc_data_write_receive(&callid, &nlen)) {
 		ipc_answer_0(callid, EINVAL);
 		ipc_answer_0(rid, EINVAL);
@@ -835,5 +835,5 @@
 		return;
 	}
-	char *new = malloc(len + 1);
+	char *new = malloc(nlen + 1);
 	if (!new) {
 		ipc_answer_0(callid, ENOMEM);
@@ -842,5 +842,5 @@
 		return;
 	}
-	if ((rc = ipc_data_write_finalize(callid, new, len))) {
+	if ((rc = ipc_data_write_finalize(callid, new, nlen))) {
 		ipc_answer_0(rid, rc);
 		free(old);
@@ -848,8 +848,8 @@
 		return;
 	}
-	new[len] = '\0';
-
-	char *oldc = canonify(old, &len);
-	char *newc = canonify(new, NULL);
+	new[nlen] = '\0';
+
+	char *oldc = canonify(old, &olen);
+	char *newc = canonify(new, &nlen);
 	if (!oldc || !newc) {
 		ipc_answer_0(rid, EINVAL);
@@ -858,5 +858,7 @@
 		return;
 	}
-	if (!strncmp(newc, oldc, len)) {
+	oldc[olen] = '\0';
+	newc[nlen] = '\0';
+	if (!str_lcmp(newc, oldc, str_length(oldc))) {
 		/* oldc is a prefix of newc */
 		ipc_answer_0(rid, EINVAL);
