From 64b4f15281ec9e390f56c9eb3a7e91ddb2d03fd6 Mon Sep 17 00:00:00 2001 From: Flamefire Date: Mon, 24 Mar 2014 02:00:41 +0100 Subject: [PATCH] Fix wrong array bounds --- PitchTracker/pitchTracker.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PitchTracker/pitchTracker.cpp b/PitchTracker/pitchTracker.cpp index 72904102..31e82059 100644 --- a/PitchTracker/pitchTracker.cpp +++ b/PitchTracker/pitchTracker.cpp @@ -43,7 +43,7 @@ void Init(double baseToneFrequency, int minHalfTone, int maxHalfTone){ DeInit(); if(maxHalfTone <= 0) return; - SamplesPerPeriodPerTone = (double*) malloc(MaxHalfTone * sizeof(double)); + SamplesPerPeriodPerTone = (double*) malloc((MaxHalfTone + 1) * sizeof(double)); //Init Array to avoid costly calculations for (int toneIndex = 0; toneIndex <= MaxHalfTone; toneIndex++) { @@ -105,7 +105,7 @@ int GetTone(double *samples, int sampleCt, float *weights){ if (curWeight < minWeight) minWeight = curWeight; - weights[toneIndex] = (float) curWeight; + weights[toneIndex - MinHalfTone] = (float) curWeight; } if(maxWeight - minWeight > 0.01){