From cfda437161f3348cc5bf4f4b6a2dc0c4767c8571 Mon Sep 17 00:00:00 2001 From: Forrest Zhao Date: Mon, 16 Nov 2009 14:58:53 +0800 Subject: [PATCH] obexd: Move OBEX name header check to service layer callback --- obexd/plugins/ftp.c | 3 +++ obexd/plugins/opp.c | 3 +++ obexd/src/obex.c | 8 -------- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/obexd/plugins/ftp.c b/obexd/plugins/ftp.c index f5a8fd0f8..ce5ee23c3 100644 --- a/obexd/plugins/ftp.c +++ b/obexd/plugins/ftp.c @@ -296,6 +296,9 @@ static gint ftp_chkput(obex_t *obex, obex_object_t *obj) if (os == NULL) return -EINVAL; + if (!os->name) + return -EINVAL; + if (os->size == OBJECT_SIZE_DELETE) return 0; diff --git a/obexd/plugins/opp.c b/obexd/plugins/opp.c index b98145ca6..f8d1bf586 100644 --- a/obexd/plugins/opp.c +++ b/obexd/plugins/opp.c @@ -121,6 +121,9 @@ static gint opp_chkput(obex_t *obex, obex_object_t *obj) if (os == NULL) return -EINVAL; + if (!os->name) + return -EINVAL; + if (os->size == OBJECT_SIZE_DELETE) return -EINVAL; diff --git a/obexd/src/obex.c b/obexd/src/obex.c index b1644272d..9856d6571 100644 --- a/obexd/src/obex.c +++ b/obexd/src/obex.c @@ -643,14 +643,6 @@ static gboolean check_put(obex_t *obex, obex_object_t *obj) OBEX_ObjectReParseHeaders(obex, obj); - if (!os->name) { - OBEX_ObjectSetRsp(obj, OBEX_RSP_BAD_REQUEST, - OBEX_RSP_BAD_REQUEST); - g_free(os->type); - os->type = NULL; - return FALSE; - } - if (!os->driver) { os->driver = obex_mime_type_driver_find(os->service->target, NULL); if (!os->driver) { -- 2.47.3