fe0a0b5, which has added a stronger random source in Postgres, has
introduced a thinko when creating a padding message which gets encrypted
for Elgamal. The padding message cannot have zeros, which are replaced
by random bytes. However if pg_strong_random() failed, the message
would finish by being considered in correct shape for encryption with
zeros.
Author: Tom Lane
Reviewed-by: Michael Paquier
Discussion: https://postgr.es/m/20186.
1546188423@sss.pgh.pa.us
Backpatch-through: 10
{
px_memset(buf, 0, res_len);
px_free(buf);
- break;
+ return PXE_NO_RANDOM;
}
}
if (*p != 0)