From 454ade725f6414244ded386c711b8a30bb5bae38 Mon Sep 17 00:00:00 2001 From: rlar Date: Sun, 27 Feb 2011 20:28:42 +0000 Subject: [PATCH] vsrc, isrc, merge checks for length of vector parameters --- ChangeLog | 5 +++++ src/spicelib/devices/isrc/isrcpar.c | 21 ++++++++++++++------- src/spicelib/devices/vsrc/vsrcpar.c | 13 ++++++++++++- 3 files changed, 31 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8481d3026..900142712 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-02-27 Robert Larice + * src/spicelib/devices/isrc/isrcpar.c , + * src/spicelib/devices/vsrc/vsrcpar.c : + vsrc, isrc, merge checks for length of vector parameters + 2011-02-27 Robert Larice * src/spicelib/devices/isrc/isrcask.c , * src/spicelib/devices/vsrc/vsrcload.c , diff --git a/src/spicelib/devices/isrc/isrcpar.c b/src/spicelib/devices/isrc/isrcpar.c index f138f8e05..37c0e3aec 100644 --- a/src/spicelib/devices/isrc/isrcpar.c +++ b/src/spicelib/devices/isrc/isrcpar.c @@ -67,25 +67,29 @@ ISRCparam(int param, IFvalue *value, GENinstance *inst, IFvalue *select) } break; case ISRC_PULSE: - if(value->v.numValue <2) return(E_BADPARM); + if(value->v.numValue < 2) + return(E_BADPARM); here->ISRCfunctionType = PULSE; here->ISRCfuncTGiven = TRUE; copy_coeffs(here, value); break; case ISRC_SINE: - if(value->v.numValue <2) return(E_BADPARM); + if(value->v.numValue < 2) + return(E_BADPARM); here->ISRCfunctionType = SINE; here->ISRCfuncTGiven = TRUE; copy_coeffs(here, value); break; case ISRC_EXP: - if(value->v.numValue <2) return(E_BADPARM); + if(value->v.numValue < 2) + return(E_BADPARM); here->ISRCfunctionType = EXP; here->ISRCfuncTGiven = TRUE; copy_coeffs(here, value); break; case ISRC_PWL: - if(value->v.numValue <2) return(E_BADPARM); + if(value->v.numValue < 2) + return(E_BADPARM); here->ISRCfunctionType = PWL; here->ISRCfuncTGiven = TRUE; copy_coeffs(here, value); @@ -100,13 +104,16 @@ ISRCparam(int param, IFvalue *value, GENinstance *inst, IFvalue *select) break; case ISRC_SFFM: - if(value->v.numValue <2) return(E_BADPARM); + if(value->v.numValue < 2) + return(E_BADPARM); here->ISRCfunctionType = SFFM; here->ISRCfuncTGiven = TRUE; copy_coeffs(here, value); break; - case ISRC_AM: - if(value->v.numValue <2) return(E_BADPARM); + + case ISRC_AM: + if(value->v.numValue < 2) + return(E_BADPARM); here->ISRCfunctionType = AM; here->ISRCfuncTGiven = TRUE; copy_coeffs(here, value); diff --git a/src/spicelib/devices/vsrc/vsrcpar.c b/src/spicelib/devices/vsrc/vsrcpar.c index 525269861..c6441a587 100644 --- a/src/spicelib/devices/vsrc/vsrcpar.c +++ b/src/spicelib/devices/vsrc/vsrcpar.c @@ -67,21 +67,29 @@ VSRCparam(int param, IFvalue *value, GENinstance *inst, IFvalue *select) } break; case VSRC_PULSE: + if(value->v.numValue < 2) + return(E_BADPARM); here->VSRCfunctionType = PULSE; here->VSRCfuncTGiven = TRUE; copy_coeffs(here, value); break; case VSRC_SINE: + if(value->v.numValue < 2) + return(E_BADPARM); here->VSRCfunctionType = SINE; here->VSRCfuncTGiven = TRUE; copy_coeffs(here, value); break; case VSRC_EXP: + if(value->v.numValue < 2) + return(E_BADPARM); here->VSRCfunctionType = EXP; here->VSRCfuncTGiven = TRUE; copy_coeffs(here, value); break; case VSRC_PWL: + if(value->v.numValue < 2) + return(E_BADPARM); here->VSRCfunctionType = PWL; here->VSRCfuncTGiven = TRUE; copy_coeffs(here, value); @@ -121,12 +129,15 @@ VSRCparam(int param, IFvalue *value, GENinstance *inst, IFvalue *select) break; } case VSRC_SFFM: + if(value->v.numValue < 2) + return(E_BADPARM); here->VSRCfunctionType = SFFM; here->VSRCfuncTGiven = TRUE; copy_coeffs(here, value); break; case VSRC_AM: - if(value->v.numValue <2) return(E_BADPARM); + if(value->v.numValue < 2) + return(E_BADPARM); here->VSRCfunctionType = AM; here->VSRCfuncTGiven = TRUE; copy_coeffs(here, value);