Bootloader POST_APPLICATION_ADDR incorrect after size correction

When creating a bootloader from the instructions (https://os.mbed.com/docs/mbed-os/v5.14/tutorials/bootloader.html and GitHub - ARMmbed/mbed-os-example-bootloader: DEPRECATED: example) there is a bug when the allocated space for the bootloader is rounded down.

Create a very simple bootloader program:

#include "mbed.h"

int main()
{
  printf("Entered the bootloader\n\r");
  printf("Exited the bootloader\n\r");
  mbed_start_application(POST_APPLICATION_ADDR);
}

In the mbed_app.json set:
“target.restrict_size”: “0x20000”

This creates a bootloader that can fit into 0x10000 and so it is rounded down. However, the POST_APPLICATION_ADDR is not updated to reflect this. When the application is built to include the bootloader, it looks at the bootloader and the size is 0x10000 and the application starts at that point. But POST_APPLICATION_ADDR is set to 0x20000 and so the application will not boot properly.