Skip to content

Commit d5931ba

Browse files
pdgendtkartben
authored andcommitted
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: Pieter De Gendt <pieter.degendt@basalte.be>
1 parent 39ae9c3 commit d5931ba

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

subsys/net/lib/coap/coap_server.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -725,6 +725,12 @@ int coap_resource_parse_observe(struct coap_resource *resource, const struct coa
725725
ret = coap_service_remove_observer(service, resource, addr, token, tkl);
726726
if (ret < 0) {
727727
LOG_WRN("Failed to remove observer (%d)", ret);
728+
goto unlock;
729+
}
730+
731+
if (ret == 0) {
732+
/* Observer not found */
733+
ret = -ENOENT;
728734
}
729735
}
730736

0 commit comments

Comments
 (0)