From: John Darrington Date: Thu, 24 Mar 2016 19:07:11 +0000 (+0100) Subject: Fix crash in correlations with empty dataset. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d30078f7abedec82a7df1295e23a910e87cb78a4;p=pspp Fix crash in correlations with empty dataset. Found by zzuf. --- diff --git a/src/language/stats/correlations.c b/src/language/stats/correlations.c index 133eece4f2..ba56c135c4 100644 --- a/src/language/stats/correlations.c +++ b/src/language/stats/correlations.c @@ -511,7 +511,8 @@ cmd_correlation (struct lexer *lexer, struct dataset *ds) return ok ? CMD_SUCCESS : CMD_CASCADING_FAILURE; error: - free (corr->vars); + if (corr) + free (corr->vars); free (corr); return CMD_FAILURE; } diff --git a/tests/language/stats/correlations.at b/tests/language/stats/correlations.at index 24fb63c6a6..b2fd22f823 100644 --- a/tests/language/stats/correlations.at +++ b/tests/language/stats/correlations.at @@ -348,3 +348,16 @@ var5,Pearson Correlation,-.0519,-.0407 ]) AT_CLEANUP + + +dnl Crash found by zzuf +AT_SETUP([CORRELATIONS -- empty dataset]) + +AT_DATA([correlations.sps], [dnl +data list list /a b c q g *. +CORRELATIONS 'VARIABLES = a b.] +) + +AT_CHECK([pspp -o pspp.csv correlations.sps], [1], [ignore]) + +AT_CLEANUP