diff options
author | Russ Meyerriecks <rmeyerreicks@digium.com> | 2011-08-15 21:57:49 +0000 |
---|---|---|
committer | Russ Meyerriecks <rmeyerreicks@digium.com> | 2011-08-15 21:57:49 +0000 |
commit | 4d9f0ac91dae2c95527ab81dbb74da12b4839a74 (patch) | |
tree | 51539c95ced403adc9220aacdfbf8ea0eac248f3 /drivers | |
parent | c02427d36fdb9d6167789654c8f5d0b45d386520 (diff) |
wct4xxp: Bug in timing cable with different span density cards
The logic loops through the static cards[] array to determine timing,
but the subloop was based off the current card's numspans member.
This could cause a null dereference in the case where two cards of
different span densities were connected via timing cables.
Reported-by: Doug Bailey <dbailey@digium.com>
Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com>
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10140 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/dahdi/wct4xxp/base.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/dahdi/wct4xxp/base.c b/drivers/dahdi/wct4xxp/base.c index 7917aea..f1c2bed 100644 --- a/drivers/dahdi/wct4xxp/base.c +++ b/drivers/dahdi/wct4xxp/base.c @@ -2384,7 +2384,7 @@ static int __t4_findsync(struct t4 *wc) while (p < 8) { nonzero = 0; for (x=0;cards[x];x++) { - for (i = 0; i < wc->numspans; i++) { + for (i = 0; i < cards[x]->numspans; i++) { if (cards[x]->tspans[i]->syncpos) { nonzero = 1; if ((cards[x]->tspans[i]->syncpos == p) && |