git.samba.org
/
samba.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
s4:rpc_server: simplify logic in dcesrv_epm_Map matching
[samba.git]
/
source4
/
rpc_server
/
epmapper
/
rpc_epmapper.c
diff --git
a/source4/rpc_server/epmapper/rpc_epmapper.c
b/source4/rpc_server/epmapper/rpc_epmapper.c
index c104c79e4f82860fd4ec8a351f294d450814e056..43ccc342a1a19b62978425201bfc2a1940bbc695 100644
(file)
--- a/
source4/rpc_server/epmapper/rpc_epmapper.c
+++ b/
source4/rpc_server/epmapper/rpc_epmapper.c
@@
-237,13
+237,18
@@
static error_status_t dcesrv_epm_Map(struct dcesrv_call_state *dce_call, TALLOC_
}
for (i=0;i<count;i++) {
}
for (i=0;i<count;i++) {
- if (
- data_blob_cmp(&r->in.map_tower->tower.floors[0].lhs.lhs_data,
- &eps[i].ep.floors[0].lhs.lhs_data) != 0
- || transport != dcerpc_transport_by_tower(&eps[i].ep)) {
+ int cmp;
+
+ if (transport != dcerpc_transport_by_tower(&eps[i].ep)) {
continue;
}
continue;
}
-
+
+ cmp = data_blob_cmp(&r->in.map_tower->tower.floors[0].lhs.lhs_data,
+ &eps[i].ep.floors[0].lhs.lhs_data);
+ if (cmp != 0) {
+ continue;
+ }
+
r->out.towers->twr->tower = eps[i].ep;
r->out.towers->twr->tower_length = 0;
return EPMAPPER_STATUS_OK;
r->out.towers->twr->tower = eps[i].ep;
r->out.towers->twr->tower_length = 0;
return EPMAPPER_STATUS_OK;