From c2e7ca233c0955cc5c326b1a60a548a20dcbd739 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Tue, 7 Sep 2021 16:47:06 +0200 Subject: partialator write_split: Handle zero crystals The variable-sized array can't have zero size, so we need to check. --- src/partialator.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/partialator.c b/src/partialator.c index 7d2cfd7b..20d46abb 100644 --- a/src/partialator.c +++ b/src/partialator.c @@ -175,12 +175,24 @@ static void write_split(Crystal **crystals, int n_crystals, const char *outfile, { char tmp[1024]; RefList *split; - Crystal *crystals1[n_crystals]; - Crystal *crystals2[n_crystals]; + Crystal **crystals1; + Crystal **crystals2; int n_crystals1 = 0; int n_crystals2 = 0; int i; + if ( n_crystals == 0 ) { + ERROR("No crystals for split!\n"); + return; + } + + crystals1 = malloc(n_crystals * sizeof(Crystal *)); + if ( crystals1 == NULL ) return; + + crystals2 = malloc(n_crystals * sizeof(Crystal *)); + if ( crystals2 == NULL ) return; + + for ( i=0; i