33 lines
968 B
Diff
33 lines
968 B
Diff
|
From 16102009366f25a7ba3531c235d65461b5012372 Mon Sep 17 00:00:00 2001
|
||
|
From: Marek Kasik <mkasik@redhat.com>
|
||
|
Date: Thu, 30 Jun 2016 17:01:27 -0400
|
||
|
Subject: [PATCH 1/2] obexd: Allow CreateFolder to create a directory
|
||
|
|
||
|
When the remote device sends the 'CreateFolder' command, obexd
|
||
|
first tries to verify the path in ftp_setpath(). Because we are
|
||
|
creating a new directory, the verify_path() is expected to fail (it does
|
||
|
not exist yet; ENOENT).
|
||
|
|
||
|
Trap that special case and cause the function to fail directly to the
|
||
|
create directory path.
|
||
|
---
|
||
|
obexd/plugins/ftp.c | 2 ++
|
||
|
1 file changed, 2 insertions(+)
|
||
|
|
||
|
diff --git a/obexd/plugins/ftp.c b/obexd/plugins/ftp.c
|
||
|
index a906527..3ee18a6 100644
|
||
|
--- a/obexd/plugins/ftp.c
|
||
|
+++ b/obexd/plugins/ftp.c
|
||
|
@@ -278,6 +278,8 @@ int ftp_setpath(struct obex_session *os, void *user_data)
|
||
|
DBG("Fullname: %s", fullname);
|
||
|
|
||
|
err = verify_path(fullname);
|
||
|
+ if (err == -ENOENT)
|
||
|
+ goto not_found;
|
||
|
|
||
|
if (err < 0)
|
||
|
goto done;
|
||
|
--
|
||
|
1.8.3.1
|
||
|
|