-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[L1] CSCTF fix issue with writing beyond array boundaries #37707
Conversation
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-37707/29535
|
A new Pull Request was created by @cecilecaillol for master. It involves the following packages:
@epalencia, @cmsbuild, @cecilecaillol, @rekovic can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
please test |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-818cf9/24261/summary.html Comparison SummaryThere are some workflows for which there are errors in the baseline: Summary:
|
+l1 |
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @perrotta, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2) |
status.link_status[lct[0].spInput()] |= (1 << lct[0].receiver_status_frame1()) | | ||
(1 << lct[0].receiver_status_frame2()) | | ||
((lct[0].aligment_fifo() ? 1 : 0) << 4); | ||
status.link_status[lct[0].spInput() - 1] |= (1 << lct[0].receiver_status_frame1()) | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is always dangerous to make differences of unsigned quantities.
On the other hand, CSCSP_MEblock::spInput_ is defined as being in the range [1-15], and the same difference is already used later on in this very same code in:
int station = (lct->spInput() > 6 ? (lct->spInput() - 1) / 3 : 1); |
and
int subsector = (lct->spInput() > 6 ? 0 : (lct->spInput() - 1) / 3 + 1); |
I assume therefore that is also safe to have the same difference computed here
+1 |
PR description:
Addressing issue #37687. spInput returns a number between 1 and 15.