]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
only allow real data types
authorAlan T. DeKok <aland@freeradius.org>
Tue, 3 Jul 2018 17:15:36 +0000 (13:15 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 3 Jul 2018 18:54:27 +0000 (14:54 -0400)
src/main/command.c

index 4270b6c14f59fb4b53e9d52545c4643114daf6f9..f3671304c0ce88e2be9283a277bab211a673b387 100644 (file)
@@ -328,9 +328,16 @@ int fr_command_add(TALLOC_CTX *talloc_ctx, fr_cmd_t **head, char const *name, vo
                                fr_type_t type;
 
                                type = fr_str2int(dict_attr_types, argv[i], FR_TYPE_INVALID);
-                               if (type == FR_TYPE_INVALID) {
+                               switch (type) {
+                               case FR_TYPE_ABINARY:
+                               case FR_TYPE_VALUE_BOX:
+                               case FR_TYPE_BAD:
+                               case FR_TYPE_STRUCTURAL:
                                        fr_strerror_printf("Syntax command %d has unknown data type", i);
                                        return -1;
+
+                               default:
+                                       break;
                                }
 
                                types[i] = type;