diff --git a/obexd/client/session.c b/obexd/client/session.c
index d2ae4fd..a6dbcb5 100644
--- a/obexd/client/session.c
+++ b/obexd/client/session.c
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);