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

Reply via email to