Diff between 69394a48e07b678a778527c44539c318ac349289 and 5e4bc641fdf686b964a594cd313ae0f721462c9c

Changed Files

File Additions Deletions Status
obexd/src/obex.c +6 -4 modified

Full Patch

diff --git a/obexd/src/obex.c b/obexd/src/obex.c
index 1679ec7..7cdb2f7 100644
--- a/obexd/src/obex.c
+++ b/obexd/src/obex.c
@@ -844,10 +844,6 @@ static void cmd_put(struct obex_session *os, obex_t *obex, obex_object_t *obj)
 	if (!os->service) {
 		OBEX_ObjectSetRsp(obj, OBEX_RSP_FORBIDDEN, OBEX_RSP_FORBIDDEN);
 		return;
-	} else if (!os->service->put) {
-		OBEX_ObjectSetRsp(obj, OBEX_RSP_NOT_IMPLEMENTED,
-				OBEX_RSP_NOT_IMPLEMENTED);
-		return;
 	}
 
 	g_return_if_fail(chk_cid(obex, obj, os->cid));
@@ -857,6 +853,12 @@ static void cmd_put(struct obex_session *os, obex_t *obex, obex_object_t *obj)
 			return;
 	}
 
+	if (!os->service->put) {
+		OBEX_ObjectSetRsp(obj, OBEX_RSP_NOT_IMPLEMENTED,
+				OBEX_RSP_NOT_IMPLEMENTED);
+		return;
+	}
+
 	err = os->service->put(os, os->service_data);
 	if (err < 0)
 		os_set_response(obj, err);