summaryrefslogtreecommitdiff
path: root/obexd/client
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2015-02-11 18:05:36 +0200
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2015-02-13 14:27:53 +0200
commitc16acfd544abbd2b4b5496fee076493527234755 (patch)
tree967a1315a688f057d6fc0f65a8eaafa03ccaca93 /obexd/client
parent5166b5de6720c2375518f567f7c0b13ee9444883 (diff)
downloadbluez-c16acfd544abbd2b4b5496fee076493527234755.tar.gz
obexd/client: Add check for invalid path
This adds a check for invalid paths in obc_session_setpath.
Diffstat (limited to 'obexd/client')
-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);