summaryrefslogtreecommitdiff
path: root/obexd
diff options
context:
space:
mode:
Diffstat (limited to 'obexd')
-rw-r--r--obexd/client/session.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/obexd/client/session.c b/obexd/client/session.c
index d2ae4fd40..a6dbcb5eb 100644
--- a/obexd/client/session.c
+++ b/obexd/client/session.c
@@ -1149,6 +1149,12 @@ guint obc_session_setpath(struct obc_session *session, const char *path,
data->user_data = user_data;
data->remaining = g_strsplit(strlen(path) ? path : "/", "/", 0);
+ if (!data->remaining || !data->remaining[0]) {
+ error("obc_session_setpath: invalid path %s", path);
+ g_set_error(err, OBEX_IO_ERROR, -EINVAL, "Invalid argument");
+ return 0;
+ }
+
p = pending_request_new(session, session_process_setpath, NULL,
setpath_op_complete, data, setpath_data_free);
session_queue(p);