diff options
author | Thomas Markwalder <tmark@isc.org> | 2019-12-17 12:25:39 -0500 |
---|---|---|
committer | Thomas Markwalder <tmark@isc.org> | 2019-12-17 13:55:15 -0500 |
commit | 7f2f8bc2b1d84a9d99b0df5466e7e44285c89ba1 (patch) | |
tree | 6c5bd2d6588fa34e05d0db0087387478fd180846 | |
parent | c22165aecc942735687dc5e7ce044a2c5ddd3543 (diff) | |
download | isc-dhcp-68-changing-d-content-type-to-rfc-1035-name-broke-omapi-key-parsing.tar.gz |
[#68] Review comment68-changing-d-content-type-to-rfc-1035-name-broke-omapi-key-parsing
Changed ldap.c:_do_lookup_dhcp_int_option() to handle integer data
-rw-r--r-- | server/ldap.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/server/ldap.c b/server/ldap.c index 46b13d00..8e80d5b5 100644 --- a/server/ldap.c +++ b/server/ldap.c @@ -1137,7 +1137,7 @@ _do_lookup_dhcp_int_option (struct option_state *options, int option_name) { struct option_cache *oc; struct data_string db; - int ret; + int ret = 0; memset (&db, 0, sizeof (db)); oc = lookup_option (&server_universe, options, option_name); @@ -1147,13 +1147,14 @@ _do_lookup_dhcp_int_option (struct option_state *options, int option_name) (struct client_state *) NULL, options, (struct option_state *) NULL, &global_scope, oc, MDL) && - db.data != NULL && *db.data != '\0') + db.data != NULL) { - ret = strtol ((const char *) db.data, NULL, 10); + if (db.len == 4) { + ret = getULong(db.data); + } + data_string_forget (&db, MDL); } - else - ret = 0; return (ret); } |