Commit 30cc7188 authored by Pieter De Gendt's avatar Pieter De Gendt Committed by Anas Nashif
Browse files

net: lib: coap: Return an error on removing a non-existing observer



If we're parsing a CoAP request with an observe option of '1', but there is
no matching observer, return an error instead of returning a zero.

Signed-off-by: default avatarPieter De Gendt <pieter.degendt@basalte.be>
(cherry picked from commit d5931bae)
parent be9fab39
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -658,6 +658,12 @@ int coap_resource_parse_observe(struct coap_resource *resource, const struct coa
		ret = coap_service_remove_observer(service, resource, addr, token, tkl);
		if (ret < 0) {
			LOG_WRN("Failed to remove observer (%d)", ret);
			goto unlock;
		}

		if (ret == 0) {
			/* Observer not found */
			ret = -ENOENT;
		}
	}