]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
sources: reallocate arrays in exponentially increasing sizes
authorMiroslav Lichvar <mlichvar@redhat.com>
Wed, 24 Sep 2014 11:22:31 +0000 (13:22 +0200)
committerMiroslav Lichvar <mlichvar@redhat.com>
Thu, 25 Sep 2014 08:58:57 +0000 (10:58 +0200)
sources.c

index 1ab0a9910676a22a4cf2251dc2f35b3f60d6de8f..30d6144d1d110a0dbfe1b20b26a471e375e49c44 100644 (file)
--- a/sources.c
+++ b/sources.c
@@ -207,7 +207,7 @@ SRC_Instance SRC_CreateNewInstance(uint32_t ref_id, SRC_Type type, SRC_SelectOpt
 
   if (n_sources == max_n_sources) {
     /* Reallocate memory */
-    max_n_sources += 32;
+    max_n_sources = max_n_sources > 0 ? 2 * max_n_sources : 4;
     if (sources) {
       sources = ReallocArray(struct SRC_Instance_Record *, max_n_sources, sources);
       sort_list = ReallocArray(struct Sort_Element, 3*max_n_sources, sort_list);