As long as your input is within the half-open interval (0, 1] (not including 0), you are fine. You can’t be too close to zero:
>>> math.log(sys.float_info.min)
-708.3964185322641
So simply checking for exactly zero (maybe as the result of an underflow) should be enough, or alternatively catch the exception and handle it.
EDIT: This also holds for the denormal minimum floating point number:
>>> math.log(sys.float_info.min * sys.float_info.epsilon)
-744.4400719213812