diff options
Diffstat (limited to 'obexd')
-rw-r--r-- | obexd/client/session.c | 6 |
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); |