Changeset: 573ded835347 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/573ded835347 Branch: default Log Message:
Merged with Jan2022 diffs (85 lines): diff --git a/common/utils/msabaoth.c b/common/utils/msabaoth.c --- a/common/utils/msabaoth.c +++ b/common/utils/msabaoth.c @@ -612,14 +612,26 @@ msab_pickSecret(char **generated_secret) } } #else - (void)bin_secret; - if (generated_secret) - // do not return an error, just continue without a secret - *generated_secret = NULL; - free(secret); - return NULL; + int rfd = open("/dev/urandom", O_RDONLY); + if (rfd >= 0) { + ssize_t nr; + for (size_t n = 0; n < sizeof(bin_secret); n += nr) { + nr = read(rfd, bin_secret + n, sizeof(bin_secret) - n); + if (nr < 0) { + free(secret); + return strdup("reading /dev/urandom failed"); + } + } + close(rfd); + } else { + (void)bin_secret; + if (generated_secret) + // do not return an error, just continue without a secret + *generated_secret = NULL; + free(secret); + return NULL; + } #endif -#if defined(HAVE_GETENTROPY) || defined(HAVE_RAND_S) int fd; FILE *f; for (size_t i = 0; i < sizeof(bin_secret); i++) { @@ -659,7 +671,6 @@ msab_pickSecret(char **generated_secret) else free(secret); return NULL; -#endif } /** diff --git a/sql/test/BugTracker-2009/Tests/overflow.SF-2853458.py b/sql/test/BugTracker-2009/Tests/overflow.SF-2853458.test rename from sql/test/BugTracker-2009/Tests/overflow.SF-2853458.py rename to sql/test/BugTracker-2009/Tests/overflow.SF-2853458.test --- a/sql/test/BugTracker-2009/Tests/overflow.SF-2853458.py +++ b/sql/test/BugTracker-2009/Tests/overflow.SF-2853458.test @@ -1,30 +1,6 @@ -import sys, os, platform, pymonetdb - -db = os.getenv("TSTDB") -port = int(os.getenv("MAPIPORT")) - -conn1 = pymonetdb.connect(database=db, port=port, autocommit=True, username='monetdb', password='monetdb') -cur1 = conn1.cursor() -running_arch = platform.machine() +statement error 22003!overflow in conversion of 9.2233720368547758e+18 to lng. +select cast(power(2,63) as bigint) -try: - cur1.execute("select cast(power(2,63) as bigint);") - if running_arch == 'ppc64': - if cur1.fetchall() != [(9223372036854775807,)]: - sys.stderr.write('[(9223372036854775807,)] expected\n') - else: - sys.stderr.write("Exception expected") -except pymonetdb.DatabaseError as e: - if running_arch == 'ppc64': - raise e - elif "overflow in conversion" not in str(e): - sys.stderr.write('Wrong error %s, expected overflow in conversion' % (str(e))) -try: - cur1.execute("select cast(power(2,64) as bigint);") - sys.stderr.write("Exception expected") -except pymonetdb.DatabaseError as e: - if "overflow in conversion" not in str(e): - sys.stderr.write('Wrong error %s, expected overflow in conversion' % (str(e))) +statement error 22003!overflow in conversion of 1.8446744073709552e+19 to lng. +select cast(power(2,64) as bigint) -cur1.close() -conn1.close() _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org