]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
libcli/lsarpc: change logic in trust_forest_record_to_lsa() to avoid default:
authorStefan Metzmacher <metze@samba.org>
Tue, 11 Feb 2025 21:27:04 +0000 (22:27 +0100)
committerRalph Boehme <slow@samba.org>
Sat, 22 Feb 2025 16:00:36 +0000 (16:00 +0000)
We should let the compiler warn us if a enum type is missing.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
libcli/lsarpc/util_lsarpc.c

index 4ac479f7970c71d0fd86f152537541ab4000a7a1..7464ab6f34e1579cb93447fce5648799dd60f7ef 100644 (file)
@@ -498,10 +498,11 @@ static NTSTATUS trust_forest_record_to_lsa(TALLOC_CTX *mem_ctx,
 
        lftr->flags = ftr->flags;
        lftr->time = ftr->timestamp;
-       lftr->type = (enum lsa_ForestTrustRecordType)ftr->type;
 
-       switch (lftr->type) {
-       case LSA_FOREST_TRUST_TOP_LEVEL_NAME:
+       switch (ftr->type) {
+       case FOREST_TRUST_TOP_LEVEL_NAME:
+               lftr->type = LSA_FOREST_TRUST_TOP_LEVEL_NAME;
+
                lstr = &lftr->forest_trust_data.top_level_name;
                str = &ftr->data.name;
 
@@ -511,9 +512,12 @@ static NTSTATUS trust_forest_record_to_lsa(TALLOC_CTX *mem_ctx,
                        return NT_STATUS_NO_MEMORY;
                }
 
-               break;
+               *_lftr = lftr;
+               return NT_STATUS_OK;
+
+       case FOREST_TRUST_TOP_LEVEL_NAME_EX:
+               lftr->type = LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX;
 
-       case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX:
                lstr = &lftr->forest_trust_data.top_level_name_ex;
                str = &ftr->data.name;
 
@@ -523,9 +527,12 @@ static NTSTATUS trust_forest_record_to_lsa(TALLOC_CTX *mem_ctx,
                        return NT_STATUS_NO_MEMORY;
                }
 
-               break;
+               *_lftr = lftr;
+               return NT_STATUS_OK;
+
+       case FOREST_TRUST_DOMAIN_INFO:
+               lftr->type = LSA_FOREST_TRUST_DOMAIN_INFO;
 
-       case LSA_FOREST_TRUST_DOMAIN_INFO:
                linfo = &lftr->forest_trust_data.domain_info;
                info = &ftr->data.info;
 
@@ -551,14 +558,16 @@ static NTSTATUS trust_forest_record_to_lsa(TALLOC_CTX *mem_ctx,
                        return NT_STATUS_NO_MEMORY;
                }
 
-               break;
+               *_lftr = lftr;
+               return NT_STATUS_OK;
 
-       default:
-               return NT_STATUS_NOT_SUPPORTED;
+       case FOREST_TRUST_BINARY_DATA:
+       case FOREST_TRUST_SCANNER_INFO:
+               /* TODO */
+               break;
        }
 
-       *_lftr = lftr;
-       return NT_STATUS_OK;
+       return NT_STATUS_NOT_SUPPORTED;
 }
 
 NTSTATUS trust_forest_info_to_lsa(TALLOC_CTX *mem_ctx,