Ensure make_download_pm returns a value, so that it's consistent
with the other factory functions
Ensured download_make_pm returns NULL if there are errors