Commit 1b03a9d6 authored by Ramiro Polla's avatar Ramiro Polla

Check return values of sws_allocVec() and sws_getConstVec().

Originally committed as revision 29543 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
parent 8a3c8627
...@@ -3259,6 +3259,9 @@ SwsVector *sws_getGaussianVec(double variance, double quality) ...@@ -3259,6 +3259,9 @@ SwsVector *sws_getGaussianVec(double variance, double quality)
double middle= (length-1)*0.5; double middle= (length-1)*0.5;
SwsVector *vec= sws_allocVec(length); SwsVector *vec= sws_allocVec(length);
if (!vec)
return NULL;
for (i=0; i<length; i++) { for (i=0; i<length; i++) {
double dist= i-middle; double dist= i-middle;
vec->coeff[i]= exp(-dist*dist/(2*variance*variance)) / sqrt(2*variance*PI); vec->coeff[i]= exp(-dist*dist/(2*variance*variance)) / sqrt(2*variance*PI);
...@@ -3274,6 +3277,9 @@ SwsVector *sws_getConstVec(double c, int length) ...@@ -3274,6 +3277,9 @@ SwsVector *sws_getConstVec(double c, int length)
int i; int i;
SwsVector *vec= sws_allocVec(length); SwsVector *vec= sws_allocVec(length);
if (!vec)
return NULL;
for (i=0; i<length; i++) for (i=0; i<length; i++)
vec->coeff[i]= c; vec->coeff[i]= c;
...@@ -3316,6 +3322,9 @@ static SwsVector *sws_getConvVec(SwsVector *a, SwsVector *b) ...@@ -3316,6 +3322,9 @@ static SwsVector *sws_getConvVec(SwsVector *a, SwsVector *b)
int i, j; int i, j;
SwsVector *vec= sws_getConstVec(0.0, length); SwsVector *vec= sws_getConstVec(0.0, length);
if (!vec)
return NULL;
for (i=0; i<a->length; i++) { for (i=0; i<a->length; i++) {
for (j=0; j<b->length; j++) { for (j=0; j<b->length; j++) {
vec->coeff[i+j]+= a->coeff[i]*b->coeff[j]; vec->coeff[i+j]+= a->coeff[i]*b->coeff[j];
...@@ -3331,6 +3340,9 @@ static SwsVector *sws_sumVec(SwsVector *a, SwsVector *b) ...@@ -3331,6 +3340,9 @@ static SwsVector *sws_sumVec(SwsVector *a, SwsVector *b)
int i; int i;
SwsVector *vec= sws_getConstVec(0.0, length); SwsVector *vec= sws_getConstVec(0.0, length);
if (!vec)
return NULL;
for (i=0; i<a->length; i++) vec->coeff[i + (length-1)/2 - (a->length-1)/2]+= a->coeff[i]; for (i=0; i<a->length; i++) vec->coeff[i + (length-1)/2 - (a->length-1)/2]+= a->coeff[i];
for (i=0; i<b->length; i++) vec->coeff[i + (length-1)/2 - (b->length-1)/2]+= b->coeff[i]; for (i=0; i<b->length; i++) vec->coeff[i + (length-1)/2 - (b->length-1)/2]+= b->coeff[i];
...@@ -3343,6 +3355,9 @@ static SwsVector *sws_diffVec(SwsVector *a, SwsVector *b) ...@@ -3343,6 +3355,9 @@ static SwsVector *sws_diffVec(SwsVector *a, SwsVector *b)
int i; int i;
SwsVector *vec= sws_getConstVec(0.0, length); SwsVector *vec= sws_getConstVec(0.0, length);
if (!vec)
return NULL;
for (i=0; i<a->length; i++) vec->coeff[i + (length-1)/2 - (a->length-1)/2]+= a->coeff[i]; for (i=0; i<a->length; i++) vec->coeff[i + (length-1)/2 - (a->length-1)/2]+= a->coeff[i];
for (i=0; i<b->length; i++) vec->coeff[i + (length-1)/2 - (b->length-1)/2]-= b->coeff[i]; for (i=0; i<b->length; i++) vec->coeff[i + (length-1)/2 - (b->length-1)/2]-= b->coeff[i];
...@@ -3356,6 +3371,9 @@ static SwsVector *sws_getShiftedVec(SwsVector *a, int shift) ...@@ -3356,6 +3371,9 @@ static SwsVector *sws_getShiftedVec(SwsVector *a, int shift)
int i; int i;
SwsVector *vec= sws_getConstVec(0.0, length); SwsVector *vec= sws_getConstVec(0.0, length);
if (!vec)
return NULL;
for (i=0; i<a->length; i++) { for (i=0; i<a->length; i++) {
vec->coeff[i + (length-1)/2 - (a->length-1)/2 - shift]= a->coeff[i]; vec->coeff[i + (length-1)/2 - (a->length-1)/2 - shift]= a->coeff[i];
} }
...@@ -3404,6 +3422,9 @@ SwsVector *sws_cloneVec(SwsVector *a) ...@@ -3404,6 +3422,9 @@ SwsVector *sws_cloneVec(SwsVector *a)
int i; int i;
SwsVector *vec= sws_allocVec(a->length); SwsVector *vec= sws_allocVec(a->length);
if (!vec)
return NULL;
for (i=0; i<a->length; i++) vec->coeff[i]= a->coeff[i]; for (i=0; i<a->length; i++) vec->coeff[i]= a->coeff[i];
return vec; return vec;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment