Changeset: f549ea6257a2 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f549ea6257a2
Modified Files:
        gdk/gdk.h
        gdk/gdk_atoms.c
        gdk/gdk_cbp.c
        gdk/gdk_col.c
        gdk/gdk_colop.c
        gdk/gdk_qsort.c
        gdk/gdk_rangejoin.c
        gdk/gdk_relop.c
        gdk/gdk_search.c
        gdk/gdk_setop.c
        gdk/gdk_ssort.c
        gdk/gdk_utils.c
        gdk/gdk_value.c
        geom/monetdb5/geom.mx
        monetdb5/extras/crackers/crackers_AVL_index.mx
        monetdb5/extras/crackers/crackers_core_ordered.mx
        monetdb5/extras/crackers/crackers_core_unordered.mx
        monetdb5/extras/crackers/crackers_crackmerge.mx
        monetdb5/extras/crackers/crackers_index.mx
        monetdb5/extras/crackers/crackers_joins.mx
        monetdb5/extras/crackers/crackers_joinselect_ops.mx
        monetdb5/extras/crackers/crackers_partial_sideways.mx
        monetdb5/extras/crackers/crackers_populate.mx
        monetdb5/extras/crackers/crackers_select_ops.mx
        monetdb5/extras/crackers/crackers_sideways.mx
        monetdb5/extras/crackers/crackers_sortmerge.mx
        monetdb5/extras/crackers/crackers_updates.mx
        monetdb5/extras/crackers/crackers_validation.mx
        monetdb5/extras/rdf/rdf_shredder.mx
        monetdb5/modules/atoms/mtime.c
        monetdb5/modules/atoms/str.c
        monetdb5/modules/atoms/streams.c
        monetdb5/modules/atoms/url.c
        monetdb5/modules/kernel/aggr.mx
        monetdb5/modules/kernel/aggr_be_avg.mx
        monetdb5/modules/kernel/aggr_be_count.mx
        monetdb5/modules/kernel/aggr_be_minmax.mx
        monetdb5/modules/kernel/aggr_be_prod.mx
        monetdb5/modules/kernel/aggr_be_sum.mx
        monetdb5/modules/kernel/aggr_bge_avg.mx
        monetdb5/modules/kernel/aggr_bge_count.mx
        monetdb5/modules/kernel/aggr_bge_minmax.mx
        monetdb5/modules/kernel/aggr_bge_prod.mx
        monetdb5/modules/kernel/aggr_bge_sum.mx
        monetdb5/modules/kernel/algebra.c.mx
        monetdb5/modules/kernel/array.mx
        monetdb5/modules/kernel/calc.c.mx
        monetdb5/modules/kernel/colcalc.c.mx
        monetdb5/modules/kernel/colcast.c
        monetdb5/modules/kernel/colifthen.c.mx
        monetdb5/modules/kernel/colmath.c.mx
        monetdb5/modules/kernel/colmtime.c.mx
        monetdb5/modules/kernel/colstr.c
        monetdb5/modules/kernel/column.c.mx
        monetdb5/modules/kernel/group.mx
        monetdb5/modules/kernel/mmath.c.mx
        monetdb5/modules/kernel/status.c
        monetdb5/modules/mal/cbp.c
        monetdb5/modules/mal/clients.c
        monetdb5/modules/mal/factories.c
        monetdb5/modules/mal/inout.c
        monetdb5/modules/mal/inspect.c
        monetdb5/modules/mal/language.c
        monetdb5/modules/mal/mat.c
        monetdb5/modules/mal/mdb.c
        monetdb5/modules/mal/pqueue.mx
        monetdb5/modules/mal/replication.c
        monetdb5/modules/mal/tablet.c
        monetdb5/modules/mal/tokenizer.c
        monetdb5/modules/mal/xmlcolumn.c
        monetdb5/modules/mal/zorder.c
        monetdb5/optimizer/opt_aliases.c
        monetdb5/optimizer/opt_cluster.c
        monetdb5/optimizer/opt_coercion.c
        monetdb5/optimizer/opt_commonTerms.c
        monetdb5/optimizer/opt_compression.c
        monetdb5/optimizer/opt_costModel.c
        monetdb5/optimizer/opt_datacyclotron.c
        monetdb5/optimizer/opt_dataflow.c
        monetdb5/optimizer/opt_deadcode.c
        monetdb5/optimizer/opt_derivepath.c
        monetdb5/optimizer/opt_dictionary.c
        monetdb5/optimizer/opt_emptySet.c
        monetdb5/optimizer/opt_evaluate.c
        monetdb5/optimizer/opt_factorize.c
        monetdb5/optimizer/opt_garbagecollector.c
        monetdb5/optimizer/opt_history.c
        monetdb5/optimizer/opt_inline.c
        monetdb5/optimizer/opt_joinpath.c
        monetdb5/optimizer/opt_macro.c
        monetdb5/optimizer/opt_mapreduce.c
        monetdb5/optimizer/opt_mergetable.c
        monetdb5/optimizer/opt_mitosis.c
        monetdb5/optimizer/opt_multiplex.c
        monetdb5/optimizer/opt_octopus.c
        monetdb5/optimizer/opt_prejoin.c
        monetdb5/optimizer/opt_pushranges.c
        monetdb5/optimizer/opt_qep.c
        monetdb5/optimizer/opt_recycler.c
        monetdb5/optimizer/opt_reduce.c
        monetdb5/optimizer/opt_remap.c
        monetdb5/optimizer/opt_remoteQueries.c
        monetdb5/optimizer/opt_reorder.c
        monetdb5/optimizer/opt_replication.c
        monetdb5/optimizer/opt_singleton.c
        monetdb5/optimizer/opt_strengthReduction.c
        monetdb5/optimizer/opt_trace.c
        monetdb5/optimizer/optimizer.c
        monetdb5/scheduler/run_pipeline.mx
        sql/backends/monet5/sql.mx
        sql/backends/monet5/sql_result.mx
Branch: headless
Log Message:

Merge with default branch.


diffs (truncated from 913 to 300 lines):

diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -399,7 +399,7 @@
        char *t;
        int rows = 0;           /* return number of output lines printed */
        size_t ulen;
-       int *cutafter = alloca(sizeof(int) * fields);
+       int *cutafter = malloc(sizeof(int) * fields);
 
        /* trim the text if needed */
        if (trim == 1) {
@@ -528,6 +528,8 @@
                first = 0;
                rows++;
        } while (more);
+
+       free(cutafter);
        return rows;
 }
 
@@ -966,8 +968,8 @@
        SQLseparator(len, fields, '-');
        if (mapi_get_name(hdl, 0)) {
                int i;
-               char **names = (char **) alloca(fields * sizeof(char *));
-               int *numeric = (int *) alloca(fields * sizeof(int));
+               char **names = (char **) malloc(fields * sizeof(char *));
+               int *numeric = (int *) malloc(fields * sizeof(int));
 
                for (i = 0; i < fields; i++) {
                        names[i] = mapi_get_name(hdl, i);
@@ -975,6 +977,8 @@
                }
                SQLrow(len, numeric, names, fields, 1, more);
                SQLseparator(len, fields, '=');
+               free(names);
+               free(numeric);
        }
 }
 
diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c
--- a/clients/mapilib/mapi.c
+++ b/clients/mapilib/mapi.c
@@ -2559,18 +2559,20 @@
                         * sequence is used.
                         */
                        unsigned char md[20];   /* should be 
RIPEMD160_DIGEST_LENGTH */
-                       size_t n = strlen(mid->password) + strlen(chal);
-                       char *key = alloca(n + 1);
-                       key[0] = '\0';
+                       char *p;
+                       RIPEMD160_CTX c;
 
                        if (pversion == 9) {
-                               strcpy(key, mid->password + 1);
-                               n--;
+                               p = mid->password + 1;
                        } else {
-                               strcpy(key, mid->password);
+                               p = mid->password;
                        }
-                       strncat(key, chal, strlen(chal));
-                       RIPEMD160((unsigned char *) key, n, md);
+
+                       RIPEMD160_Init(&c);
+                       RIPEMD160_Update(&c, p, strlen(p));
+                       RIPEMD160_Update(&c, chal, strlen(chal));
+                       RIPEMD160_Final(md, &c);
+
                        hash = malloc(sizeof(char) * ( /*{RIPEMD160} */ 11 + 20 
* 2 + 1));
                        sprintf(hash, 
"{RIPEMD160}%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x"
                                "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
@@ -2588,18 +2590,20 @@
                         * sequence is used.
                         */
                        unsigned char md[20];   /* should be SHA_DIGEST_LENGTH 
*/
-                       size_t n = strlen(mid->password) + strlen(chal);
-                       char *key = alloca(n + 1);
-                       key[0] = '\0';
+                       char *p;
+                       SHA_CTX c;
 
                        if (pversion == 9) {
-                               strcpy(key, mid->password + 1);
-                               n--;
+                               p = mid->password + 1;
                        } else {
-                               strcpy(key, mid->password);
+                               p = mid->password;
                        }
-                       strncat(key, chal, strlen(chal));
-                       SHA1((unsigned char *) key, n, md);
+
+                       SHA1_Init(&c);
+                       SHA1_Update(&c, p, strlen(p));
+                       SHA1_Update(&c, chal, strlen(chal));
+                       SHA1_Final(md, &c);
+
                        hash = malloc(sizeof(char) * ( /*{SHA1} */ 6 + 20 * 2 + 
1));
                        sprintf(hash, 
"{SHA1}%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x"
                                "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
@@ -2617,18 +2621,20 @@
                         * sequence is used.
                         */
                        unsigned char md[16];   /* should be MD5_DIGEST_LENGTH 
*/
-                       size_t n = strlen(mid->password) + strlen(chal);
-                       char *key = alloca(n + 1);
-                       key[0] = '\0';
+                       char *p;
+                       MD5_CTX c;
 
                        if (pversion == 9) {
-                               strcpy(key, mid->password + 1);
-                               n--;
+                               p = mid->password + 1;
                        } else {
-                               strcpy(key, mid->password);
+                               p = mid->password;
                        }
-                       strncat(key, chal, strlen(chal));
-                       MD5((unsigned char *) key, n, md);
+
+                       MD5_Init(&c);
+                       MD5_Update(&c, p, strlen(p));
+                       MD5_Update(&c, chal, strlen(chal));
+                       MD5_Final(md, &c);
+
                        hash = malloc(sizeof(char) * ( /*{MD5} */ 5 + 16 * 2 + 
1));
                        sprintf(hash, "{MD5}%02x%02x%02x%02x%02x%02x%02x%02x"
                                "%02x%02x%02x%02x%02x%02x%02x%02x",
@@ -2875,12 +2881,11 @@
                                }
                                return mapi_start_talking(mid);
                        } else {
-                               q = alloca(sizeof(char) * (strlen(red) + 50));
-                               snprintf(q, strlen(red) + 50,
-                                        "error while parsing redirect: %s\n",
-                                        red);
+                               char re[BUFSIZ];
+                               snprintf(re, sizeof(re),
+                                               "error while parsing redirect: 
%s\n", red);
                                mapi_close_handle(hdl);
-                               mapi_setError(mid, q, "mapi_start_talking", 
MERROR);
+                               mapi_setError(mid, re, "mapi_start_talking", 
MERROR);
                                return mid->error;
                        }
                }
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -18,7 +18,6 @@
  */
 
 /*
- * @f gdk
  * @t The Goblin Database Kernel
  * @v Version 3.05
  * @a Martin L. Kersten, Peter Boncz, Niels Nes
diff --git a/gdk/gdk_atoms.c b/gdk/gdk_atoms.c
--- a/gdk/gdk_atoms.c
+++ b/gdk/gdk_atoms.c
@@ -18,7 +18,6 @@
  */
 
 /*
- * @f gdk_atoms
  * @a M. L. Kersten, P. Boncz
  * @* Atomic types
  * The Binary Association Table library assumes efficient implementation of
diff --git a/gdk/gdk_cbp.c b/gdk/gdk_cbp.c
--- a/gdk/gdk_cbp.c
+++ b/gdk/gdk_cbp.c
@@ -18,7 +18,6 @@
  */
 
 /*
- * @f gdk_cbp
  * @a M. L. Kersten, P. Boncz, N. J. Nes
  * @* COL Buffer Pool (CBP)
  * The COLs created and loaded are collected in a COL buffer pool.
diff --git a/gdk/gdk_col.c b/gdk/gdk_col.c
--- a/gdk/gdk_col.c
+++ b/gdk/gdk_col.c
@@ -18,7 +18,6 @@
  */
 
 /*
- * @f gdk_col
  * @a M. L. Kersten, P. Boncz, N. Nes
  * @* COL Module
  * In this Chapter we describe the COL implementation in more detail.
diff --git a/gdk/gdk_colop.c b/gdk/gdk_colop.c
--- a/gdk/gdk_colop.c
+++ b/gdk/gdk_colop.c
@@ -18,7 +18,6 @@
  */
 
 /*
- * @f gdk_batop
  * @a M. L. Kersten, P. Boncz, S. Manegold, N. Nes
  * @* Common COL Operations
  * This module contains the following COL algebra operations:
diff --git a/gdk/gdk_qsort.c b/gdk/gdk_qsort.c
--- a/gdk/gdk_qsort.c
+++ b/gdk/gdk_qsort.c
@@ -18,7 +18,6 @@
  */
 
 /*
- * @f gdk_qsort
  * @a Peter Boncz, Niels Nes et al
  * @* Qsort
  * There were two problems with the OS provided qsort() library routine:
diff --git a/gdk/gdk_rangejoin.c b/gdk/gdk_rangejoin.c
--- a/gdk/gdk_rangejoin.c
+++ b/gdk/gdk_rangejoin.c
@@ -18,7 +18,6 @@
  */
 
 /*
- * @f gdk_rangejoin
  * @a N. J. Nes
  *
  * @* Range Join Operators
diff --git a/gdk/gdk_relop.c b/gdk/gdk_relop.c
--- a/gdk/gdk_relop.c
+++ b/gdk/gdk_relop.c
@@ -18,7 +18,6 @@
  */
 
 /*
- * @f gdk_relop
  * @a M. L. Kersten, P. Boncz, S. Manegold
  * @* COL relational operators
  * The basic relational operators are implemented for COLs.
diff --git a/gdk/gdk_search.c b/gdk/gdk_search.c
--- a/gdk/gdk_search.c
+++ b/gdk/gdk_search.c
@@ -18,7 +18,6 @@
  */
 
 /*
- * @f gdk_search
  * @a M. L. Kersten, P. Boncz, N. Nes
  *
  * @* Search Accelerators
diff --git a/gdk/gdk_setop.c b/gdk/gdk_setop.c
--- a/gdk/gdk_setop.c
+++ b/gdk/gdk_setop.c
@@ -18,7 +18,6 @@
  */
 
 /*
- * @f gdk_setop
  * @a Peter Boncz
  *
  * @* Set Operations
diff --git a/gdk/gdk_ssort.c b/gdk/gdk_ssort.c
--- a/gdk/gdk_ssort.c
+++ b/gdk/gdk_ssort.c
@@ -18,7 +18,6 @@
  */
 
 /*
- * @f gdk_ssort
  * @a Sjoerd Mullender
  * @* Ssort
  * This file implements a stable sort algorithm.  The algorithm is a
diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c
--- a/gdk/gdk_utils.c
+++ b/gdk/gdk_utils.c
@@ -18,7 +18,6 @@
  */
 
 /*
- * @f gdk_utils
  * @a M. L. Kersten, P. Boncz, N. Nes
  *
  * @* Utilities
diff --git a/gdk/gdk_value.c b/gdk/gdk_value.c
--- a/gdk/gdk_value.c
+++ b/gdk/gdk_value.c
@@ -18,7 +18,6 @@
  */
 
 /*
- * @f gdk_value
  * @a Martin L. Kersten & Peter Boncz
  * @v 2.0
  * @+ Value representation
diff --git a/geom/monetdb5/geom.mx b/geom/monetdb5/geom.mx
--- a/geom/monetdb5/geom.mx
+++ b/geom/monetdb5/geom.mx
@@ -17,9 +17,10 @@
 All Rights Reserved.
 @
 
+@f geom
+
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to