diff --git a/RELNOTES b/RELNOTES index dbf36ff4..8c250ac5 100644 --- a/RELNOTES +++ b/RELNOTES @@ -54,6 +54,10 @@ work on other platforms. Please report any problems and suggested fixes to - Fixed a bug that caused some request types to be logged incorrectly. +- Clients that sent a parameter request list containing the + routers option before the subnet mask option were receiving + only the latter. Fixed. + Changes since 4.1.0a1 - Fixed a coredump when adding a class via OMAPI. diff --git a/common/options.c b/common/options.c index 8728513b..7971d745 100644 --- a/common/options.c +++ b/common/options.c @@ -1180,15 +1180,10 @@ store_options(int *ocount, */ if (priority_list[i] == DHO_SUBNET_MASK) { for (ix = i - 1 ; ix >= 0 ; ix--) { - /* We know that anything before 'i' can only - * appear once. So shovel the options to make - * room to bubble the subnet mask ahead, and - * then break out of the loop, we're done. - */ if (priority_list[ix] == DHO_ROUTERS) { - memmove(priority_list + ix + 1, - priority_list + ix, i - ix); + /* swap */ priority_list[ix] = DHO_SUBNET_MASK; + priority_list[i] = DHO_ROUTERS; break; } }