Module Name: xsrc Committed By: martin Date: Tue Apr 27 19:02:05 UTC 2021
Modified Files: xsrc/external/mit/xorg-server.old/dist/Xi [netbsd-8]: chgfctl.c xsrc/external/mit/xorg-server/dist/Xi [netbsd-8]: chgfctl.c Log Message: Apply patch, requested by mrg in ticket #1673: external/mit/xorg-server/dist/Xi/chgfctl.c (apply patch) external/mit/xorg-server.old/dist/Xi/chgfctl.c (apply patch) Fix for CVE-2021-3472 (local privilege escalation). To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.1.1.1.2.1 \ xsrc/external/mit/xorg-server.old/dist/Xi/chgfctl.c cvs rdiff -u -r1.3 -r1.3.2.1 xsrc/external/mit/xorg-server/dist/Xi/chgfctl.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: xsrc/external/mit/xorg-server.old/dist/Xi/chgfctl.c diff -u xsrc/external/mit/xorg-server.old/dist/Xi/chgfctl.c:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/Xi/chgfctl.c:1.1.1.1.2.1 --- xsrc/external/mit/xorg-server.old/dist/Xi/chgfctl.c:1.1.1.1 Thu Jun 9 09:07:56 2016 +++ xsrc/external/mit/xorg-server.old/dist/Xi/chgfctl.c Tue Apr 27 19:02:04 2021 @@ -468,8 +468,11 @@ ProcXChangeFeedbackControl(ClientPtr cli case StringFeedbackClass: { char n; - xStringFeedbackCtl *f = ((xStringFeedbackCtl *) & stuff[1]); + xStringFeedbackCtl *f; + REQUEST_AT_LEAST_EXTRA_SIZE(xChangeFeedbackControlReq, + sizeof(xStringFeedbackCtl)); + f = ((xStringFeedbackCtl *) &stuff[1]); if (client->swapped) { if (len < bytes_to_int32(sizeof(xStringFeedbackCtl))) return BadLength; Index: xsrc/external/mit/xorg-server/dist/Xi/chgfctl.c diff -u xsrc/external/mit/xorg-server/dist/Xi/chgfctl.c:1.3 xsrc/external/mit/xorg-server/dist/Xi/chgfctl.c:1.3.2.1 --- xsrc/external/mit/xorg-server/dist/Xi/chgfctl.c:1.3 Thu Aug 11 00:04:26 2016 +++ xsrc/external/mit/xorg-server/dist/Xi/chgfctl.c Tue Apr 27 19:02:05 2021 @@ -464,8 +464,11 @@ ProcXChangeFeedbackControl(ClientPtr cli break; case StringFeedbackClass: { - xStringFeedbackCtl *f = ((xStringFeedbackCtl *) &stuff[1]); + xStringFeedbackCtl *f; + REQUEST_AT_LEAST_EXTRA_SIZE(xChangeFeedbackControlReq, + sizeof(xStringFeedbackCtl)); + f = ((xStringFeedbackCtl *) &stuff[1]); if (client->swapped) { if (len < bytes_to_int32(sizeof(xStringFeedbackCtl))) return BadLength;