Analysis Report

Shared security patch analysis results

AI Used: DEEPSEEK deepseek-chat
Share this analysis
6017 filtered / 6017 total files
testing/web-platform/tests/html/canvas/offscreen/text/2d.text.draw.fill.maxWidth.large-manual.worker.js AI: No vulnerabilities
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/html/canvas/offscreen/text/2d.text.draw.fill.maxWidth.large-manual.worker.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/text/2d.text.draw.fill.maxWidth.large-manual.worker.js@@ -13,8 +13,8 @@ }); t.step(function() {-var offscreenCanvas = new OffscreenCanvas(100, 50);-var ctx = offscreenCanvas.getContext('2d');+var canvas = new OffscreenCanvas(100, 50);+var ctx = canvas.getContext('2d'); ctx.fillStyle = '#000'; ctx.fillRect(0, 0, 100, 50);
AI Analysis
Analysis of the provided code diff:

1. Vulnerability Existed: no
   No specific vulnerability found [File] [Lines 13-14]
   [Old Code]
   var offscreenCanvas = new OffscreenCanvas(100, 50);
   var ctx = offscreenCanvas.getContext('2d');
   [Fixed Code]
   var canvas = new OffscreenCanvas(100, 50);
   var ctx = canvas.getContext('2d');

Additional Details:
- The change appears to be a simple variable renaming from `offscreenCanvas` to `canvas`
- No security implications or vulnerabilities are apparent in this change
- This is likely a code style/consistency improvement rather than a security fix
- The functionality remains exactly the same, only the variable name changed
CVE Analysis Results:
CVE-2022-26384: No
View CVE Description
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.radial.cone.shape2.html AI: No vulnerabilities
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.radial.cone.shape2.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.radial.cone.shape2.html@@ -17,8 +17,8 @@ }); t.step(function() {-var offscreenCanvas = new OffscreenCanvas(100, 50);-var ctx = offscreenCanvas.getContext('2d');+var canvas = new OffscreenCanvas(100, 50);+var ctx = canvas.getContext('2d'); var tol = 1; // tolerance to avoid antialiasing artifacts ctx.fillStyle = '#0f0';@@ -34,15 +34,15 @@ ctx.lineTo(110, -20-tol); ctx.lineTo(110, 100+tol); ctx.fill();-_assertPixel(offscreenCanvas, 1,1, 0,255,0,255, "1,1", "0,255,0,255");-_assertPixel(offscreenCanvas, 50,1, 0,255,0,255, "50,1", "0,255,0,255");-_assertPixel(offscreenCanvas, 98,1, 0,255,0,255, "98,1", "0,255,0,255");-_assertPixel(offscreenCanvas, 1,25, 0,255,0,255, "1,25", "0,255,0,255");-_assertPixel(offscreenCanvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255");-_assertPixel(offscreenCanvas, 98,25, 0,255,0,255, "98,25", "0,255,0,255");-_assertPixel(offscreenCanvas, 1,48, 0,255,0,255, "1,48", "0,255,0,255");-_assertPixel(offscreenCanvas, 50,48, 0,255,0,255, "50,48", "0,255,0,255");-_assertPixel(offscreenCanvas, 98,48, 0,255,0,255, "98,48", "0,255,0,255");+_assertPixel(canvas, 1,1, 0,255,0,255, "1,1", "0,255,0,255");+_assertPixel(canvas, 50,1, 0,255,0,255, "50,1", "0,255,0,255");+_assertPixel(canvas, 98,1, 0,255,0,255, "98,1", "0,255,0,255");+_assertPixel(canvas, 1,25, 0,255,0,255, "1,25", "0,255,0,255");+_assertPixel(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255");+_assertPixel(canvas, 98,25, 0,255,0,255, "98,25", "0,255,0,255");+_assertPixel(canvas, 1,48, 0,255,0,255, "1,48", "0,255,0,255");+_assertPixel(canvas, 50,48, 0,255,0,255, "50,48", "0,255,0,255");+_assertPixel(canvas, 98,48, 0,255,0,255, "98,48", "0,255,0,255"); t.done(); });
AI Analysis
After analyzing the provided code diff, I don't see any security vulnerabilities being fixed. The changes appear to be purely cosmetic/refactoring, renaming a variable from `offscreenCanvas` to `canvas` and updating all references to it. Here's the analysis:

1. Vulnerability Existed: no
   No security vulnerability [File] testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.radial.cone.shape2.html [Lines] 17-48
   [Old Code] var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); _assertPixel(offscreenCanvas, ...)
   [Fixed Code] var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); _assertPixel(canvas, ...)

The changes are simply variable renaming and don't affect security in any way. The functionality remains identical, just with a different variable name. There are no security-related patterns being modified (no changes to input validation, no security-sensitive operations, etc.).
CVE Analysis Results:
CVE-2022-26384: No
View CVE Description
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
third_party/rust/ash/src/extensions/nv/device_diagnostic_checkpoints.rs AI: No vulnerabilities
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/third_party/rust/ash/src/extensions/nv/device_diagnostic_checkpoints.rs+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/rust/ash/src/extensions/nv/device_diagnostic_checkpoints.rs@@ -6,18 +6,15 @@ #[derive(Clone)] pub struct DeviceDiagnosticCheckpoints {-    device_diagnostic_checkpoints_fn: vk::NvDeviceDiagnosticCheckpointsFn,+    fp: vk::NvDeviceDiagnosticCheckpointsFn, } impl DeviceDiagnosticCheckpoints {     pub fn new(instance: &Instance, device: &Device) -> Self {-        let device_diagnostic_checkpoints_fn =-            vk::NvDeviceDiagnosticCheckpointsFn::load(|name| unsafe {-                mem::transmute(instance.get_device_proc_addr(device.handle(), name.as_ptr()))-            });-        Self {-            device_diagnostic_checkpoints_fn,-        }+        let fp = vk::NvDeviceDiagnosticCheckpointsFn::load(|name| unsafe {+            mem::transmute(instance.get_device_proc_addr(device.handle(), name.as_ptr()))+        });+        Self { fp }     }     #[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCmdSetCheckpointNV.html>"]@@ -26,23 +23,25 @@         command_buffer: vk::CommandBuffer,         p_checkpoint_marker: *const c_void,     ) {-        self.device_diagnostic_checkpoints_fn+        self.fp             .cmd_set_checkpoint_nv(command_buffer, p_checkpoint_marker);     }     #[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkGetQueueCheckpointDataNV.html>"]     pub unsafe fn get_queue_checkpoint_data(&self, queue: vk::Queue) -> Vec<vk::CheckpointDataNV> {         let mut checkpoint_data_count: u32 = 0;-        self.device_diagnostic_checkpoints_fn-            .get_queue_checkpoint_data_nv(queue, &mut checkpoint_data_count, std::ptr::null_mut());+        self.fp.get_queue_checkpoint_data_nv(+            queue,+            &mut checkpoint_data_count,+            std::ptr::null_mut(),+        );         let mut checkpoint_data: Vec<vk::CheckpointDataNV> =             vec![vk::CheckpointDataNV::default(); checkpoint_data_count as _];-        self.device_diagnostic_checkpoints_fn-            .get_queue_checkpoint_data_nv(-                queue,-                &mut checkpoint_data_count,-                checkpoint_data.as_mut_ptr(),-            );+        self.fp.get_queue_checkpoint_data_nv(+            queue,+            &mut checkpoint_data_count,+            checkpoint_data.as_mut_ptr(),+        );         checkpoint_data     }@@ -51,6 +50,6 @@     }     pub fn fp(&self) -> &vk::NvDeviceDiagnosticCheckpointsFn {-        &self.device_diagnostic_checkpoints_fn+        &self.fp     } }
AI Analysis
After analyzing the provided code diff, I don't see any security vulnerabilities being fixed. The changes appear to be primarily cosmetic/refactoring changes (renaming a field and reformatting code) rather than security fixes.

Here's the analysis following your requested format:

Vulnerability Existed: no
No security vulnerability found
File: third_party/rust/ash/src/extensions/nv/device_diagnostic_checkpoints.rs
The changes are:
1. Field rename from `device_diagnostic_checkpoints_fn` to `fp`
2. Code formatting changes in function calls
3. No changes to the actual security-relevant behavior

The unsafe blocks remain the same, and the way Vulkan functions are loaded and called hasn't changed in terms of security implications. The diff shows no fixes for memory safety issues, input validation, or other common vulnerability patterns.

If you'd like me to analyze any specific aspect of this diff in more detail, please let me know.
CVE Analysis Results:
CVE-2022-26384: No
View CVE Description
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
js/src/jit/x64/Assembler-x64.h AI: Not sure
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/js/src/jit/x64/Assembler-x64.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/js/src/jit/x64/Assembler-x64.h@@ -1040,24 +1040,6 @@   CodeOffset loadRipRelativeFloat32x4(FloatRegister dest) {     return CodeOffset(masm.vmovaps_ripr(dest.encoding()).offset());   }-  CodeOffset storeRipRelativeInt32(Register dest) {-    return CodeOffset(masm.movl_rrip(dest.encoding()).offset());-  }-  CodeOffset storeRipRelativeInt64(Register dest) {-    return CodeOffset(masm.movq_rrip(dest.encoding()).offset());-  }-  CodeOffset storeRipRelativeDouble(FloatRegister dest) {-    return CodeOffset(masm.vmovsd_rrip(dest.encoding()).offset());-  }-  CodeOffset storeRipRelativeFloat32(FloatRegister dest) {-    return CodeOffset(masm.vmovss_rrip(dest.encoding()).offset());-  }-  CodeOffset storeRipRelativeInt32x4(FloatRegister dest) {-    return CodeOffset(masm.vmovdqa_rrip(dest.encoding()).offset());-  }-  CodeOffset storeRipRelativeFloat32x4(FloatRegister dest) {-    return CodeOffset(masm.vmovaps_rrip(dest.encoding()).offset());-  }   CodeOffset leaRipRelative(Register dest) {     return CodeOffset(masm.leaq_rip(dest.encoding()).offset());   }
AI Analysis
Here's the analysis of the provided code diff following the specified format:

1. Vulnerability Existed: not sure  
[Potential Memory Corruption or Information Leak] [js/src/jit/x64/Assembler-x64.h] [Lines 1041-1056]  
[Old Code]  
```  
CodeOffset storeRipRelativeInt32(Register dest) {  
    return CodeOffset(masm.movl_rrip(dest.encoding()).offset());  
}  
CodeOffset storeRipRelativeInt64(Register dest) {  
    return CodeOffset(masm.movq_rrip(dest.encoding()).offset());  
}  
CodeOffset storeRipRelativeDouble(FloatRegister dest) {  
    return CodeOffset(masm.vmovsd_rrip(dest.encoding()).offset());  
}  
CodeOffset storeRipRelativeFloat32(FloatRegister dest) {  
    return CodeOffset(masm.vmovss_rrip(dest.encoding()).offset());  
}  
CodeOffset storeRipRelativeInt32x4(FloatRegister dest) {  
    return CodeOffset(masm.vmovdqa_rrip(dest.encoding()).offset());  
}  
CodeOffset storeRipRelativeFloat32x4(FloatRegister dest) {  
    return CodeOffset(masm.vmovaps_rrip(dest.encoding()).offset());  
}  
```  
[Fixed Code]  
(These functions were completely removed in the diff)  

Note: The removal of these RIP-relative store operations suggests they might have been vulnerable to memory corruption or information disclosure issues, but without more context about why they were removed, we can't be certain about the specific vulnerability. The removal could also be part of a refactoring or optimization change.
CVE Analysis Results:
CVE-2022-26384: No
View CVE Description
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
devtools/client/inspector/compatibility/components/UnsupportedBrowserItem.js AI: Not sure
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/devtools/client/inspector/compatibility/components/UnsupportedBrowserItem.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/devtools/client/inspector/compatibility/components/UnsupportedBrowserItem.js@@ -32,14 +32,8 @@   }   render() {-    const { id, name, versions } = this.props;--    const versionsTitle = versions-      .map(({ alias, version }) => version + (alias ? `(${alias})` : ""))-      .join(", ");-    const title = `${name} ${versionsTitle}`;--    return dom.li({}, BrowserIcon({ id, name, title }));+    const { id, name } = this.props;+    return dom.li({}, BrowserIcon({ id, name }));   } }
AI Analysis
Let me analyze this code diff for potential security issues.

Vulnerability Existed: not sure
[Potential XSS through unescaped title attribute] [devtools/client/inspector/compatibility/components/UnsupportedBrowserItem.js] [Lines 32-38]
[Old Code]
const { id, name, versions } = this.props;

const versionsTitle = versions
  .map(({ alias, version }) => version + (alias ? `(${alias})` : ""))
  .join(", ");
const title = `${name} ${versionsTitle}`;

return dom.li({}, BrowserIcon({ id, name, title }));
[Fixed Code]
const { id, name } = this.props;
return dom.li({}, BrowserIcon({ id, name }));

Additional Details:
The old version constructed a title string from user-provided props (name, versions, alias) and passed it to BrowserIcon. While not definitely vulnerable, this could potentially lead to XSS if malicious input was passed through these props and not properly escaped when used in the title attribute. The fix removes this potential attack surface by eliminating the dynamic title construction entirely. However, without seeing how BrowserIcon uses these props, we can't be certain if this was actually vulnerable.
CVE Analysis Results:
CVE-2022-26384: No
View CVE Description
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
gfx/layers/RepaintRequest.h AI: Not sure
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/gfx/layers/RepaintRequest.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/gfx/layers/RepaintRequest.h@@ -64,7 +64,8 @@   RepaintRequest(const FrameMetrics& aOther,                  const ScreenMargin& aDisplayportMargins,                  const ScrollOffsetUpdateType aScrollUpdateType,-                 APZScrollAnimationType aScrollAnimationType)+                 APZScrollAnimationType aScrollAnimationType,+                 const APZScrollGeneration& aScrollGenerationOnApz)       : mScrollId(aOther.GetScrollId()),         mPresShellResolution(aOther.GetPresShellResolution()),         mCompositionBounds(aOther.GetCompositionBounds()),@@ -73,6 +74,7 @@         mScrollOffset(aOther.GetVisualScrollOffset()),         mZoom(aOther.GetZoom()),         mScrollGeneration(aOther.GetScrollGeneration()),+        mScrollGenerationOnApz(aScrollGenerationOnApz),         mDisplayPortMargins(aDisplayportMargins),         mPresShellId(aOther.GetPresShellId()),         mLayoutViewport(aOther.GetLayoutViewport()),@@ -166,7 +168,13 @@   bool GetScrollOffsetUpdated() const { return mScrollUpdateType != eNone; }-  ScrollGeneration GetScrollGeneration() const { return mScrollGeneration; }+  MainThreadScrollGeneration GetScrollGeneration() const {+    return mScrollGeneration;+  }++  APZScrollGeneration GetScrollGenerationOnApz() const {+    return mScrollGenerationOnApz;+  }   ScrollableLayerGuid::ViewID GetScrollId() const { return mScrollId; }@@ -246,8 +254,15 @@   // the APZC.   CSSToParentLayerScale mZoom;-  // The scroll generation counter used to acknowledge the scroll offset update.-  ScrollGeneration mScrollGeneration;+  // The scroll generation counter used to acknowledge the scroll offset update+  // on the main-thread.+  MainThreadScrollGeneration mScrollGeneration;++  // The scroll generation counter stored in each SampledAPZState and the+  // scrollable frame on the main-thread and used to compare with each other+  // in the WebRender renderer thread to tell which sampled scroll offset+  // matches the scroll offset used on the main-thread.+  APZScrollGeneration mScrollGenerationOnApz;   // A display port expressed as layer margins that apply to the rect of what   // is drawn of the scrollable element.
AI Analysis
Analyzing the provided code diff for security fixes:

1. Vulnerability Existed: not sure
   [Potential Type Confusion/Inconsistency] [gfx/layers/RepaintRequest.h] [Lines 166-174]
   [Old Code]
   ScrollGeneration GetScrollGeneration() const { return mScrollGeneration; }
   
   [Fixed Code]
   MainThreadScrollGeneration GetScrollGeneration() const {
     return mScrollGeneration;
   }
   
   APZScrollGeneration GetScrollGenerationOnApz() const {
     return mScrollGenerationOnApz;
   }

   Additional Details:
   The change introduces a distinction between MainThreadScrollGeneration and APZScrollGeneration types, which could potentially address a type confusion issue. However, without more context about how these types are used, it's unclear if this was fixing an actual security vulnerability or just improving type safety.

2. Vulnerability Existed: not sure
   [Potential Race Condition Mitigation] [gfx/layers/RepaintRequest.h] [Lines 246-254]
   [Old Code]
   // The scroll generation counter used to acknowledge the scroll offset update.
   ScrollGeneration mScrollGeneration;
   
   [Fixed Code]
   // The scroll generation counter used to acknowledge the scroll offset update
   // on the main-thread.
   MainThreadScrollGeneration mScrollGeneration;

   // The scroll generation counter stored in each SampledAPZState and the
   // scrollable frame on the main-thread and used to compare with each other
   // in the WebRender renderer thread to tell which sampled scroll offset
   // matches the scroll offset used on the main-thread.
   APZScrollGeneration mScrollGenerationOnApz;

   Additional Details:
   The addition of a separate scroll generation counter for APZ (Asynchronous Pan/Zoom) and clearer documentation suggests this might be addressing a potential race condition between main thread and compositor thread operations. However, without evidence of previous exploitation, this remains speculative.

Note: The changes appear to be related to improving thread safety and type distinctions in scroll handling, but without more context about previous vulnerabilities or exploit scenarios, we can't definitively say these were security fixes. The modifications do suggest improved robustness in multi-threaded operations.
CVE Analysis Results:
CVE-2022-26384: No
View CVE Description
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.radial.inside1.html AI: No vulnerabilities
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.radial.inside1.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.radial.inside1.html@@ -17,8 +17,8 @@ }); t.step(function() {-var offscreenCanvas = new OffscreenCanvas(100, 50);-var ctx = offscreenCanvas.getContext('2d');+var canvas = new OffscreenCanvas(100, 50);+var ctx = canvas.getContext('2d'); ctx.fillStyle = '#f00'; ctx.fillRect(0, 0, 100, 50);@@ -27,15 +27,15 @@ g.addColorStop(1, '#f00'); ctx.fillStyle = g; ctx.fillRect(0, 0, 100, 50);-_assertPixel(offscreenCanvas, 1,1, 0,255,0,255, "1,1", "0,255,0,255");-_assertPixel(offscreenCanvas, 50,1, 0,255,0,255, "50,1", "0,255,0,255");-_assertPixel(offscreenCanvas, 98,1, 0,255,0,255, "98,1", "0,255,0,255");-_assertPixel(offscreenCanvas, 1,25, 0,255,0,255, "1,25", "0,255,0,255");-_assertPixel(offscreenCanvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255");-_assertPixel(offscreenCanvas, 98,25, 0,255,0,255, "98,25", "0,255,0,255");-_assertPixel(offscreenCanvas, 1,48, 0,255,0,255, "1,48", "0,255,0,255");-_assertPixel(offscreenCanvas, 50,48, 0,255,0,255, "50,48", "0,255,0,255");-_assertPixel(offscreenCanvas, 98,48, 0,255,0,255, "98,48", "0,255,0,255");+_assertPixel(canvas, 1,1, 0,255,0,255, "1,1", "0,255,0,255");+_assertPixel(canvas, 50,1, 0,255,0,255, "50,1", "0,255,0,255");+_assertPixel(canvas, 98,1, 0,255,0,255, "98,1", "0,255,0,255");+_assertPixel(canvas, 1,25, 0,255,0,255, "1,25", "0,255,0,255");+_assertPixel(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255");+_assertPixel(canvas, 98,25, 0,255,0,255, "98,25", "0,255,0,255");+_assertPixel(canvas, 1,48, 0,255,0,255, "1,48", "0,255,0,255");+_assertPixel(canvas, 50,48, 0,255,0,255, "50,48", "0,255,0,255");+_assertPixel(canvas, 98,48, 0,255,0,255, "98,48", "0,255,0,255"); t.done(); });
AI Analysis
Based on the provided code diff, I don't see any security vulnerabilities being fixed. The changes appear to be purely variable renaming (from `offscreenCanvas` to `canvas`) and updating the corresponding assertions to use the new variable name.

Here's the analysis following your format:

    Vulnerability Existed: no
    No security vulnerability found [testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.radial.inside1.html] [Lines 17-48]
    [Old Code: var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); ... _assertPixel(offscreenCanvas, ...)]
    [Fixed Code: var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); ... _assertPixel(canvas, ...)]

This appears to be a simple code cleanup/refactoring change rather than a security fix. The functionality remains exactly the same, just with a different variable name.
CVE Analysis Results:
CVE-2022-26384: No
View CVE Description
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
testing/web-platform/tests/css/selectors/old-tests/css3-modsel-150.xml AI: No vulnerabilities
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/css/selectors/old-tests/css3-modsel-150.xml+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/selectors/old-tests/css3-modsel-150.xml@@ -9,7 +9,6 @@ ]]></style>   <link rel="author" title="Ian Hickson" href="mailto:[email protected]"/>   <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found -->-  <meta name="flags" content="" />  </head>  <body>  <address><!-- --><?test random PI?></address>
AI Analysis
Let me analyze the diff for potential security vulnerabilities:

1. Vulnerability Existed: no
   No specific vulnerability found [File] [Lines 9]
   [Old Code] <meta name="flags" content="" />
   [Fixed Code] (removed line)

Additional details:
- The diff shows removal of an empty meta tag with "flags" attribute
- This appears to be a test file cleanup rather than a security fix
- No known vulnerability is associated with empty meta tags
- The change doesn't appear to address any security issue, just removes unused markup

The modification seems to be part of general code cleanup rather than addressing a specific security vulnerability. The removed line was an empty meta tag that served no apparent purpose in the test file.
CVE Analysis Results:
CVE-2022-26384: No
View CVE Description
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
uriloader/exthandler/tests/mochitest/browser_protocol_ask_dialog.js AI: Not sure
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/uriloader/exthandler/tests/mochitest/browser_protocol_ask_dialog.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/uriloader/exthandler/tests/mochitest/browser_protocol_ask_dialog.js@@ -396,3 +396,67 @@   await dialogClosedPromise;   gBrowser.removeTab(tab); });++/**+ * Check that when navigating to an external protocol from an iframe in a+ * background tab, we show the dialog in the correct tab.+ */+add_task(async function iframe_background_tab() {+  let tab = await BrowserTestUtils.openNewForegroundTab(+    gBrowser,+    "https://example.com/"+  );++  let innerLoaded = BrowserTestUtils.browserLoaded(+    tab.linkedBrowser,+    true,+    "https://example.org/"+  );+  info("Constructing frame");+  await SpecialPowers.spawn(tab.linkedBrowser, [], function() {+    let frame = content.document.createElement("iframe");+    frame.src = "https://example.org/";+    content.document.body.prepend(frame);+  });+  await innerLoaded;++  info("Switching to new tab");+  let newTab = await BrowserTestUtils.openNewForegroundTab(+    gBrowser,+    "https://example.net/"+  );++  // Wait for the chooser dialog to open in the background tab. It should not+  // open in the foreground tab which is unrelated to the external protocol+  // navigation.+  let dialogWindowPromise = waitForProtocolAppChooserDialog(gBrowser, true);++  info("Navigating to external proto from frame in background tab");+  let parentBC = tab.linkedBrowser.browsingContext;+  await SpecialPowers.spawn(parentBC.children[0], [], async function() {+    content.eval("location.href = 'mailto:[email protected]';");+  });++  // Wait for dialog to open in one of the tabs.+  let dialog = await dialogWindowPromise;++  is(+    gBrowser.getTabDialogBox(tab.linkedBrowser)._tabDialogManager._topDialog,+    dialog,+    "Dialog opened in the background tab"+  );++  is(+    dialog._frame.contentDocument.location.href,+    CONTENT_HANDLING_URL,+    "Opened dialog is appChooser dialog."+  );++  // Close the dialog:+  let dialogClosedPromise = waitForProtocolAppChooserDialog(gBrowser, false);+  dialog.close();+  await dialogClosedPromise;++  gBrowser.removeTab(tab);+  gBrowser.removeTab(newTab);+});
AI Analysis
Based on the provided diff, I'll analyze it for potential security vulnerabilities:

1. Vulnerability Existed: not sure
   [Potential Clickjacking/UI Redressing] [uriloader/exthandler/tests/mochitest/browser_protocol_ask_dialog.js] [Lines 396-463]
   [Old Code: No test for iframe background tab handling]
   [Fixed Code: Added test for iframe background tab handling]

The diff adds a new test case that verifies proper handling of external protocol requests from iframes in background tabs. While this isn't a direct vulnerability fix, it suggests improved security handling of:
1. External protocol requests from iframes
2. Ensuring dialogs appear in the correct context
3. Preventing potential UI confusion attacks

However, since this is a test file addition rather than a direct code change, we can't definitively say what vulnerability it might be addressing. The test appears to verify proper security behavior for external protocol handling in complex scenarios.
CVE Analysis Results:
CVE-2022-26384: No
View CVE Description
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
toolkit/components/extensions/webidl-api/ExtensionEventListener.h AI: Not sure
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/toolkit/components/extensions/webidl-api/ExtensionEventListener.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/toolkit/components/extensions/webidl-api/ExtensionEventListener.h@@ -200,8 +200,10 @@       dom::ThreadSafeWorkerRef* aWorkerRef);   // PromiseNativeHandler-  void ResolvedCallback(JSContext* aCx, JS::Handle<JS::Value> aValue) override;-  void RejectedCallback(JSContext* aCx, JS::Handle<JS::Value> aValue) override;+  void ResolvedCallback(JSContext* aCx, JS::Handle<JS::Value> aValue,+                        ErrorResult& aRv) override;+  void RejectedCallback(JSContext* aCx, JS::Handle<JS::Value> aValue,+                        ErrorResult& aRv) override;   enum class PromiseCallbackType { Resolve, Reject };
AI Analysis
Here's the analysis of the provided code diff:

Vulnerability Existed: not sure  
Potential Error Handling Improvement [ExtensionEventListener.h] [Lines 200-203]  
[Old Code]  
```cpp
void ResolvedCallback(JSContext* aCx, JS::Handle<JS::Value> aValue) override;
void RejectedCallback(JSContext* aCx, JS::Handle<JS::Value> aValue) override;
```  
[Fixed Code]  
```cpp
void ResolvedCallback(JSContext* aCx, JS::Handle<JS::Value> aValue,
                     ErrorResult& aRv) override;
void RejectedCallback(JSContext* aCx, JS::Handle<JS::Value> aValue,
                     ErrorResult& aRv) override;
```

Analysis:
1. The change adds ErrorResult parameters to both callback methods, suggesting better error handling.
2. While this isn't clearly fixing a specific known vulnerability, it could potentially prevent:
   - Unhandled exceptions (if previously errors were silently dropped)
   - Race conditions (if errors weren't properly propagated)
3. The modification follows a pattern of improved error handling which often addresses security concerns, but without more context about how these callbacks are used, we can't be certain about specific vulnerabilities being fixed.
CVE Analysis Results:
CVE-2022-26384: No
View CVE Description
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
devtools/client/shared/test/browser_filter-editor-08.js AI: Not sure
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/devtools/client/shared/test/browser_filter-editor-08.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/devtools/client/shared/test/browser_filter-editor-08.js@@ -84,6 +84,7 @@     "Should decrease value by slow multiplier using down arrow"   );+  widget.destroy();   triggerKey = null; });
AI Analysis
Let me analyze the code diff for potential security vulnerabilities.

Vulnerability Existed: not sure
[Potential Resource Leak] [devtools/client/shared/test/browser_filter-editor-08.js] [Lines 84]
[Old Code]
(No explicit destruction of widget object)
[Fixed Code]
widget.destroy();

Additional Details:
The diff shows the addition of a `widget.destroy()` call before setting `triggerKey` to null. While this isn't a classic security vulnerability, it could potentially lead to resource leaks if widgets aren't properly destroyed. Resource leaks could eventually lead to denial of service conditions if they accumulate over time. However, since this is test code, the actual security impact would be minimal.

No other obvious security vulnerabilities are apparent in this small diff. The change appears to be primarily about proper resource cleanup rather than fixing a direct security issue.
CVE Analysis Results:
CVE-2022-26384: No
View CVE Description
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
testing/web-platform/tests/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.basic.worker.js AI: No vulnerabilities
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.basic.worker.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.basic.worker.js@@ -13,8 +13,8 @@ }); t.step(function() {-var offscreenCanvas = new OffscreenCanvas(100, 50);-var ctx = offscreenCanvas.getContext('2d');+var canvas = new OffscreenCanvas(100, 50);+var ctx = canvas.getContext('2d'); _assertDifferent(ctx.getImageData(0, 0, 100, 50), null, "ctx.getImageData(0, 0, 100, 50)", "null"); t.done();
AI Analysis
Analysis of the provided code diff:

1. Vulnerability Existed: no
    Variable Renaming [File] [Lines 13-14]
    [Old Code]
    var offscreenCanvas = new OffscreenCanvas(100, 50);
    var ctx = offscreenCanvas.getContext('2d');
    [Fixed Code]
    var canvas = new OffscreenCanvas(100, 50);
    var ctx = canvas.getContext('2d');

Additional Details:
- The change appears to be purely a variable name change from `offscreenCanvas` to `canvas`
- No security-related changes or vulnerabilities are apparent in this diff
- This seems to be a code style/readability improvement rather than a security fix
- No known vulnerability patterns are present in either the old or new code

The diff shows only a variable name change with no functional or security implications.
CVE Analysis Results:
CVE-2022-26384: No
View CVE Description
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
build/build-clang/build-clang.py AI: 2 vulnerabilities
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/build/build-clang/build-clang.py+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/build/build-clang/build-clang.py@@ -167,22 +167,6 @@     shutil.copy2(         os.path.join(build_dir, "lib", "clang.lib"), os.path.join(clang_dir, "lib")     )---def install_asan_symbols(build_dir, clang_dir):-    lib_path_pattern = os.path.join("lib", "clang", "*.*.*", "lib", "windows")-    src_path = glob.glob(-        os.path.join(build_dir, lib_path_pattern, "clang_rt.asan_dynamic-*.pdb")-    )-    dst_path = glob.glob(os.path.join(clang_dir, lib_path_pattern))--    if len(src_path) != 1:-        raise Exception("Source path pattern did not resolve uniquely")--    if len(src_path) != 1:-        raise Exception("Destination path pattern did not resolve uniquely")--    shutil.copy2(src_path[0], dst_path[0]) def is_darwin():@@ -214,23 +198,9 @@     assertions,     libcxx_include_dir,     build_wasm,-    compiler_rt_source_dir=None,-    runtimes_source_link=None,-    compiler_rt_source_link=None,     is_final_stage=False,-    android_targets=None,-    extra_targets=None,     pgo_phase=None, ):-    if is_final_stage and (android_targets or extra_targets):-        # Linking compiler-rt under "runtimes" activates LLVM_RUNTIME_TARGETS-        # and related arguments.-        symlink(compiler_rt_source_dir, runtimes_source_link)-        try:-            os.unlink(compiler_rt_source_link)-        except Exception:-            pass-     if not os.path.exists(stage_dir):         os.mkdir(stage_dir)@@ -262,13 +232,23 @@             "-DCMAKE_INSTALL_PREFIX=%s" % inst_dir,             "-DLLVM_TARGETS_TO_BUILD=%s" % machine_targets,             "-DLLVM_ENABLE_ASSERTIONS=%s" % ("ON" if assertions else "OFF"),-            "-DLLVM_TOOL_LIBCXX_BUILD=%s" % ("ON" if build_libcxx else "OFF"),             "-DLLVM_ENABLE_BINDINGS=OFF",             "-DLLVM_ENABLE_CURL=OFF",         ]         if "TASK_ID" in os.environ:             cmake_args += [                 "-DCLANG_REPOSITORY_STRING=taskcluster-%s" % os.environ["TASK_ID"],+            ]+        # libc++ doesn't build with MSVC because of the use of #include_next.+        if is_final_stage and os.path.basename(cc[0]).lower() != "cl.exe":+            cmake_args += [+                "-DLLVM_FORCE_BUILD_RUNTIME=ON",+                "-DLLVM_TOOL_LIBCXX_BUILD=%s" % ("ON" if build_libcxx else "OFF"),+                # libc++abi has conflicting definitions between the shared and static+                # library on Windows because of the import library for the dll having+                # the same name as the static library. libc++abi is not necessary on+                # Windows anyways.+                "-DLLVM_TOOL_LIBCXXABI_BUILD=%s" % ("OFF" if is_windows() else "ON"),             ]         if not is_final_stage:             cmake_args += [@@ -281,11 +261,15 @@                 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF",             ]+        # There is no libxml2 on Windows except if we build one ourselves.+        # libxml2 is only necessary for llvm-mt, but Windows can just use the+        # native MT tool.+        if not is_windows() and is_final_stage:+            cmake_args += ["-DLLVM_ENABLE_LIBXML2=FORCE_ON"]         if is_linux() and not osx_cross_compile and is_final_stage:-            cmake_args += ["-DLLVM_BINUTILS_INCDIR=/usr/include"]-            cmake_args += ["-DLLVM_ENABLE_LIBXML2=FORCE_ON"]             sysroot = os.path.join(os.environ.get("MOZ_FETCHES_DIR", ""), "sysroot")             if os.path.exists(sysroot):+                cmake_args += ["-DLLVM_BINUTILS_INCDIR=/usr/include"]                 cmake_args += ["-DCMAKE_SYSROOT=%s" % sysroot]                 # Work around the LLVM build system not building the i386 compiler-rt                 # because it doesn't allow to use a sysroot for that during the cmake@@ -345,122 +329,14 @@         return cmake_args     cmake_args = []--    runtime_targets = []-    if is_final_stage:-        if android_targets:-            runtime_targets = list(sorted(android_targets.keys()))-        if extra_targets:-            runtime_targets.extend(sorted(extra_targets))--    if runtime_targets:-        cmake_args += [-            "-DLLVM_BUILTIN_TARGETS=%s" % ";".join(runtime_targets),-            "-DLLVM_RUNTIME_TARGETS=%s" % ";".join(runtime_targets),-        ]--        for target in runtime_targets:-            cmake_args += [-                "-DRUNTIMES_%s_COMPILER_RT_BUILD_PROFILE=ON" % target,-                "-DRUNTIMES_%s_COMPILER_RT_BUILD_SANITIZERS=ON" % target,-                "-DRUNTIMES_%s_COMPILER_RT_BUILD_XRAY=OFF" % target,-                "-DRUNTIMES_%s_SANITIZER_ALLOW_CXXABI=OFF" % target,-                "-DRUNTIMES_%s_COMPILER_RT_BUILD_LIBFUZZER=OFF" % target,-                "-DRUNTIMES_%s_COMPILER_RT_INCLUDE_TESTS=OFF" % target,-                "-DRUNTIMES_%s_LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF" % target,-                "-DRUNTIMES_%s_LLVM_INCLUDE_TESTS=OFF" % target,-            ]--    # The above code flipped switches to build various runtime libraries on-    # Android; we now have to provide all the necessary compiler switches to-    # make that work.-    if is_final_stage and android_targets:-        android_link_flags = "-fuse-ld=lld"--        for target, cfg in android_targets.items():-            sysroot_dir = cfg["ndk_sysroot"].format(**os.environ)-            android_gcc_dir = cfg["ndk_toolchain"].format(**os.environ)-            android_include_dirs = cfg["ndk_includes"]-            api_level = cfg["api_level"]--            android_flags = [-                "-isystem %s" % d.format(**os.environ) for d in android_include_dirs-            ]-            android_flags += ["--gcc-toolchain=%s" % android_gcc_dir]-            android_flags += ["-D__ANDROID_API__=%s" % api_level]--            # Our flags go last to override any --gcc-toolchain that may have-            # been set earlier.-            rt_c_flags = " ".join(cc[1:] + android_flags)-            rt_cxx_flags = " ".join(cxx[1:] + android_flags)-            rt_asm_flags = " ".join(asm[1:] + android_flags)--            for kind in ("BUILTINS", "RUNTIMES"):-                for var, arg in (-                    ("ANDROID", "1"),-                    ("CMAKE_ASM_FLAGS", rt_asm_flags),-                    ("CMAKE_CXX_FLAGS", rt_cxx_flags),-                    ("CMAKE_C_FLAGS", rt_c_flags),-                    ("CMAKE_EXE_LINKER_FLAGS", android_link_flags),-                    ("CMAKE_SHARED_LINKER_FLAGS", android_link_flags),-                    ("CMAKE_SYSROOT", sysroot_dir),-                    ("ANDROID_NATIVE_API_LEVEL", api_level),-                ):-                    cmake_args += ["-D%s_%s_%s=%s" % (kind, target, var, arg)]-     cmake_args += cmake_base_args(cc, cxx, asm, ld, ar, ranlib, libtool, inst_dir)     cmake_args += [src_dir]     build_package(build_dir, cmake_args)     # For some reasons the import library clang.lib of clang.exe is not     # installed, so we copy it by ourselves.-    if is_windows():-        # The compiler-rt cmake scripts don't allow to build it for multiple-        # targets at once on Windows, so manually build the 32-bits compiler-rt-        # during the final stage.-        build_32_bit = False-        if is_final_stage:-            # Only build the 32-bits compiler-rt when we originally built for-            # 64-bits, which we detect through the contents of the LIB-            # environment variable, which we also adjust for a 32-bits build-            # at the same time.-            old_lib = os.environ["LIB"]-            new_lib = []-            for l in old_lib.split(os.pathsep):-                if l.endswith("x64"):-                    l = l[:-3] + "x86"-                    build_32_bit = True-                elif l.endswith("amd64"):-                    l = l[:-5]-                    build_32_bit = True-                new_lib.append(l)-        if build_32_bit:-            os.environ["LIB"] = os.pathsep.join(new_lib)-            compiler_rt_build_dir = stage_dir + "/compiler-rt"-            compiler_rt_inst_dir = inst_dir + "/lib/clang/"-            subdirs = os.listdir(compiler_rt_inst_dir)-            assert len(subdirs) == 1-            compiler_rt_inst_dir += subdirs[0]-            cmake_args = cmake_base_args(-                [os.path.join(inst_dir, "bin", "clang-cl.exe"), "-m32"] + cc[1:],-                [os.path.join(inst_dir, "bin", "clang-cl.exe"), "-m32"] + cxx[1:],-                [os.path.join(inst_dir, "bin", "clang-cl.exe"), "-m32"] + asm[1:],-                ld,-                ar,-                ranlib,-                libtool,-                compiler_rt_inst_dir,-            )-            cmake_args += [-                "-DLLVM_CONFIG_PATH=%s"-                % slashify_path(os.path.join(inst_dir, "bin", "llvm-config")),-                os.path.join(src_dir, "projects", "compiler-rt"),-            ]-            build_package(compiler_rt_build_dir, cmake_args)-            os.environ["LIB"] = old_lib-        if is_final_stage:-            install_import_library(build_dir, inst_dir)-            install_asan_symbols(build_dir, inst_dir)+    if is_windows() and is_final_stage:+        install_import_library(build_dir, inst_dir) # Return the absolute path of a build tool.  We first look to see if the@@ -685,6 +561,13 @@         stages = int(config["stages"])         if stages not in (1, 2, 3, 4):             raise ValueError("We only know how to build 1, 2, 3, or 4 stages.")+    skip_stages = 0+    if "skip_stages" in config:+        # The assumption here is that the compiler given in `cc` and other configs+        # is the result of the last skip stage, built somewhere else.+        skip_stages = int(config["skip_stages"])+        if skip_stages >= stages:+            raise ValueError("Cannot skip more stages than are built.")     pgo = False     if "pgo" in config:         pgo = config["pgo"]@@ -743,24 +626,6 @@         assertions = config["assertions"]         if assertions not in (True, False):             raise ValueError("Only boolean values are accepted for assertions.")-    ndk_dir = None-    android_targets = None-    if "android_targets" in config:-        android_targets = config["android_targets"]-        for attr in ("ndk_toolchain", "ndk_sysroot", "ndk_includes", "api_level"):-            for target, cfg in android_targets.items():-                if attr not in cfg:-                    raise ValueError(-                        "must specify '%s' as a key for android target: %s"-                        % (attr, target)-                    )-    extra_targets = None-    if "extra_targets" in config:-        extra_targets = config["extra_targets"]-        if not isinstance(extra_targets, list):-            raise ValueError("extra_targets must be a list")-        if not all(isinstance(t, str) for t in extra_targets):-            raise ValueError("members of extra_targets should be strings")     if is_darwin() or osx_cross_compile:         os.environ["MACOSX_DEPLOYMENT_TARGET"] = (@@ -856,8 +721,6 @@         extra_cflags2 = []         extra_cxxflags2 = [             "-fms-compatibility-version=19.15.26726",-            "-Xclang",-            "-std=c++14",         ]         extra_asmflags = []         extra_ldflags = []@@ -898,38 +761,41 @@         extra_cflags2 += ["-fcrash-diagnostics-dir=%s" % upload_dir]         extra_cxxflags2 += ["-fcrash-diagnostics-dir=%s" % upload_dir]-    build_one_stage(-        [cc] + extra_cflags,-        [cxx] + extra_cxxflags,-        [asm] + extra_asmflags,-        [ld] + extra_ldflags,-        ar,-        ranlib,-        libtool,-        llvm_source_dir,-        stage1_dir,-        package_name,-        build_libcxx,-        osx_cross_compile,-        build_type,-        assertions,-        libcxx_include_dir,-        build_wasm,-        is_final_stage=(stages == 1),-    )--    runtimes_source_link = llvm_source_dir + "/runtimes/compiler-rt"--    if stages >= 2:+    if skip_stages < 1:+        build_one_stage(+            [cc] + extra_cflags,+            [cxx] + extra_cxxflags,+            [asm] + extra_asmflags,+            [ld] + extra_ldflags,+            ar,+            ranlib,+            libtool,+            llvm_source_dir,+            stage1_dir,+            package_name,+            build_libcxx,+            osx_cross_compile,+            build_type,+            assertions,+            libcxx_include_dir,+            build_wasm,+            is_final_stage=(stages == 1),+        )++    if stages >= 2 and skip_stages < 2:         stage2_dir = build_dir + "/stage2"         stage2_inst_dir = stage2_dir + "/" + package_name         final_stage_dir = stage2_dir         final_inst_dir = stage2_inst_dir         pgo_phase = "gen" if pgo else None+        if skip_stages < 1:+            cc = stage1_inst_dir + "/bin/%s%s" % (cc_name, exe_ext)+            cxx = stage1_inst_dir + "/bin/%s%s" % (cxx_name, exe_ext)+            asm = stage1_inst_dir + "/bin/%s%s" % (cc_name, exe_ext)         build_one_stage(-            [stage1_inst_dir + "/bin/%s%s" % (cc_name, exe_ext)] + extra_cflags2,-            [stage1_inst_dir + "/bin/%s%s" % (cxx_name, exe_ext)] + extra_cxxflags2,-            [stage1_inst_dir + "/bin/%s%s" % (cc_name, exe_ext)] + extra_asmflags,+            [cc] + extra_cflags2,+            [cxx] + extra_cxxflags2,+            [asm] + extra_asmflags,             [ld] + extra_ldflags,             ar,             ranlib,@@ -943,24 +809,23 @@             assertions,             libcxx_include_dir,             build_wasm,-            compiler_rt_source_dir,-            runtimes_source_link,-            compiler_rt_source_link,             is_final_stage=(stages == 2),-            android_targets=android_targets,-            extra_targets=extra_targets,             pgo_phase=pgo_phase,         )-    if stages >= 3:+    if stages >= 3 and skip_stages < 3:         stage3_dir = build_dir + "/stage3"         stage3_inst_dir = stage3_dir + "/" + package_name         final_stage_dir = stage3_dir         final_inst_dir = stage3_inst_dir+        if skip_stages < 2:+            cc = stage2_inst_dir + "/bin/%s%s" % (cc_name, exe_ext)+            cxx = stage2_inst_dir + "/bin/%s%s" % (cxx_name, exe_ext)+            asm = stage2_inst_dir + "/bin/%s%s" % (cc_name, exe_ext)         build_one_stage(-            [stage2_inst_dir + "/bin/%s%s" % (cc_name, exe_ext)] + extra_cflags2,-            [stage2_inst_dir + "/bin/%s%s" % (cxx_name, exe_ext)] + extra_cxxflags2,-            [stage2_inst_dir + "/bin/%s%s" % (cc_name, exe_ext)] + extra_asmflags,+            [cc] + extra_cflags2,+            [cxx] + extra_cxxflags2,+            [asm] + extra_asmflags,             [ld] + extra_ldflags,             ar,             ranlib,@@ -974,14 +839,10 @@             assertions,             libcxx_include_dir,             build_wasm,-            compiler_rt_source_dir,-            runtimes_source_link,-            compiler_rt_source_link,             (stages == 3),-            extra_targets=extra_targets,         )-    if stages >= 4:+    if stages >= 4 and skip_stages < 4:         stage4_dir = build_dir + "/stage4"         stage4_inst_dir = stage4_dir + "/" + package_name         final_stage_dir = stage4_dir@@ -997,10 +858,14 @@             if not os.path.exists(stage4_dir):                 os.mkdir(stage4_dir)             run_in(stage4_dir, merge_cmd + profraw_files)+        if skip_stages < 3:+            cc = stage3_inst_dir + "/bin/%s%s" % (cc_name, exe_ext)+            cxx = stage3_inst_dir + "/bin/%s%s" % (cxx_name, exe_ext)+            asm = stage3_inst_dir + "/bin/%s%s" % (cc_name, exe_ext)         build_one_stage(-            [stage3_inst_dir + "/bin/%s%s" % (cc_name, exe_ext)] + extra_cflags2,-            [stage3_inst_dir + "/bin/%s%s" % (cxx_name, exe_ext)] + extra_cxxflags2,-            [stage3_inst_dir + "/bin/%s%s" % (cc_name, exe_ext)] + extra_asmflags,+            [cc] + extra_cflags2,+            [cxx] + extra_cxxflags2,+            [asm] + extra_asmflags,             [ld] + extra_ldflags,             ar,             ranlib,@@ -1014,11 +879,7 @@             assertions,             libcxx_include_dir,             build_wasm,-            compiler_rt_source_dir,-            runtimes_source_link,-            compiler_rt_source_link,             (stages == 4),-            extra_targets=extra_targets,             pgo_phase=pgo_phase,         )
AI Analysis
I'll analyze the code diff for security fixes following the specified format.

1. Vulnerability Existed: yes
Path Traversal Vulnerability [build/build-clang/build-clang.py] [Lines 167-180]
[Old Code]
def install_asan_symbols(build_dir, clang_dir):
    lib_path_pattern = os.path.join("lib", "clang", "*.*.*", "lib", "windows")
    src_path = glob.glob(
        os.path.join(build_dir, lib_path_pattern, "clang_rt.asan_dynamic-*.pdb")
    )
    dst_path = glob.glob(os.path.join(clang_dir, lib_path_pattern))

    if len(src_path) != 1:
        raise Exception("Source path pattern did not resolve uniquely")

    if len(src_path) != 1:
        raise Exception("Destination path pattern did not resolve uniquely")

    shutil.copy2(src_path[0], dst_path[0])
[Fixed Code]
[Function completely removed]
Details: The removed function could potentially allow path traversal attacks if malicious paths were constructed in the build directory. The function was doing file operations without proper path validation.

2. Vulnerability Existed: yes
Insecure File Handling [build/build-clang/build-clang.py] [Lines 214-223]
[Old Code]
if is_final_stage and (android_targets or extra_targets):
    # Linking compiler-rt under "runtimes" activates LLVM_RUNTIME_TARGETS
    # and related arguments.
    symlink(compiler_rt_source_dir, runtimes_source_link)
    try:
        os.unlink(compiler_rt_source_link)
    except Exception:
        pass
[Fixed Code]
[Code completely removed]
Details: The removed code was handling symlinks and file operations without proper security checks, which could potentially be exploited if an attacker could control the paths.

3. Vulnerability Existed: not sure
Potential Build Configuration Issue [build/build-clang/build-clang.py] [Lines 345-389]
[Old Code]
runtime_targets = []
if is_final_stage:
    if android_targets:
        runtime_targets = list(sorted(android_targets.keys()))
    if extra_targets:
        runtime_targets.extend(sorted(extra_targets))

if runtime_targets:
    cmake_args += [
        "-DLLVM_BUILTIN_TARGETS=%s" % ";".join(runtime_targets),
        "-DLLVM_RUNTIME_TARGETS=%s" % ";".join(runtime_targets),
    ]
[Fixed Code]
[Code completely removed]
Details: While not clearly a security vulnerability, removing complex build configuration logic reduces the attack surface and potential for misconfiguration.

4. Vulnerability Existed: not sure
Android Build Configuration Removal [build/build-clang/build-clang.py] [Lines 391-433]
[Old Code]
if is_final_stage and android_targets:
    android_link_flags = "-fuse-ld=lld"

    for target, cfg in android_targets.items():
        sysroot_dir = cfg["ndk_sysroot"].format(**os.environ)
        android_gcc_dir = cfg["ndk_toolchain"].format(**os.environ)
        android_include_dirs = cfg["ndk_includes"]
        api_level = cfg["api_level"]
[Fixed Code]
[Code completely removed]
Details: The removed Android-specific build configuration was complex and involved environment variable expansion, which could potentially be exploited if not properly sanitized.

The diff shows significant security improvements by:
1. Removing potentially dangerous file operations
2. Simplifying the build configuration
3. Removing complex path handling code
4. Eliminating Android-specific build logic that could be a source of vulnerabilities

The changes generally follow security best practices by reducing the attack surface and removing potentially risky operations.
CVE Analysis Results:
CVE-2022-26384: No
View CVE Description
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
dom/filesystem/compat/FileSystemDirectoryReader.cpp AI: Not sure
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/dom/filesystem/compat/FileSystemDirectoryReader.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/dom/filesystem/compat/FileSystemDirectoryReader.cpp@@ -40,8 +40,8 @@   }   MOZ_CAN_RUN_SCRIPT-  virtual void ResolvedCallback(JSContext* aCx,-                                JS::Handle<JS::Value> aValue) override {+  virtual void ResolvedCallback(JSContext* aCx, JS::Handle<JS::Value> aValue,+                                ErrorResult& aRv) override {     if (NS_WARN_IF(!aValue.isObject())) {       return;     }@@ -93,8 +93,8 @@     mSuccessCallback->Call(sequence);   }-  virtual void RejectedCallback(JSContext* aCx,-                                JS::Handle<JS::Value> aValue) override {+  virtual void RejectedCallback(JSContext* aCx, JS::Handle<JS::Value> aValue,+                                ErrorResult& aRv) override {     if (mErrorCallback) {       RefPtr<ErrorCallbackRunnable> runnable = new ErrorCallbackRunnable(           mParentEntry->GetParentObject(), mErrorCallback,
AI Analysis
Here's the analysis of the provided code diff:

Vulnerability Existed: not sure
[Potential Error Handling Improvement] [dom/filesystem/compat/FileSystemDirectoryReader.cpp] [Lines 40-42, 93-95]
[Old Code]
virtual void ResolvedCallback(JSContext* aCx, JS::Handle<JS::Value> aValue) override
virtual void RejectedCallback(JSContext* aCx, JS::Handle<JS::Value> aValue) override
[Fixed Code]
virtual void ResolvedCallback(JSContext* aCx, JS::Handle<JS::Value> aValue, ErrorResult& aRv) override
virtual void RejectedCallback(JSContext* aCx, JS::Handle<JS::Value> aValue, ErrorResult& aRv) override

Additional Details:
The main change is the addition of ErrorResult& aRv parameter to both callback methods. While this doesn't directly indicate a specific vulnerability, it suggests improved error handling. The modification could be related to:
1. Better propagation of error conditions
2. More robust exception handling
3. Preventing potential unhandled errors

However, without more context about how these callbacks are used or what specific issues were being addressed, we can't definitively identify a security vulnerability. The change appears to be more about improving error handling robustness than fixing a specific security issue.
CVE Analysis Results:
CVE-2022-26384: No
View CVE Description
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
tools/profiler/gecko/nsProfiler.h AI: Not sure
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/tools/profiler/gecko/nsProfiler.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/tools/profiler/gecko/nsProfiler.h@@ -7,24 +7,24 @@ #ifndef nsProfiler_h #define nsProfiler_h+#include "base/process.h" #include "mozilla/Attributes.h" #include "mozilla/Maybe.h" #include "mozilla/MozPromise.h" #include "mozilla/ProfileJSONWriter.h"+#include "mozilla/ProportionValue.h" #include "mozilla/TimeStamp.h" #include "mozilla/Vector.h"-#include "nsIObserver.h" #include "nsIProfiler.h" #include "nsITimer.h" #include "nsServiceManagerUtils.h" #include "ProfilerCodeAddressService.h"-class nsProfiler final : public nsIProfiler, public nsIObserver {+class nsProfiler final : public nsIProfiler {  public:   nsProfiler();   NS_DECL_ISUPPORTS-  NS_DECL_NSIOBSERVER   NS_DECL_NSIPROFILER   nsresult Init();@@ -35,8 +35,6 @@     return static_cast<nsProfiler*>(iprofiler.get());   }-  void GatheredOOPProfile(const nsACString& aProfile);-  private:   ~nsProfiler();@@ -45,26 +43,44 @@       SymbolTablePromise;   RefPtr<GatheringPromise> StartGathering(double aSinceTime);+  void GatheredOOPProfile(base::ProcessId aChildPid,+                          const nsACString& aProfile);   void FinishGathering();   void ResetGathering();   static void GatheringTimerCallback(nsITimer* aTimer, void* aClosure);+  void RestartGatheringTimer();   RefPtr<SymbolTablePromise> GetSymbolTableMozPromise(       const nsACString& aDebugPath, const nsACString& aBreakpadID);--  bool mLockedForPrivateBrowsing;   struct ExitProfile {     nsCString mJSON;     uint64_t mBufferPositionAtGatherTime;   };+  struct PendingProfile {+    base::ProcessId childPid;++    mozilla::ProportionValue progressProportion;+    nsCString progressLocation;++    mozilla::TimeStamp lastProgressRequest;+    mozilla::TimeStamp lastProgressResponse;+    mozilla::TimeStamp lastProgressChange;++    explicit PendingProfile(base::ProcessId aChildPid) : childPid(aChildPid) {}+  };++  PendingProfile* GetPendingProfile(base::ProcessId aChildPid);+  // Returns false if the request could not be sent.+  bool SendProgressRequest(PendingProfile& aPendingProfile);+   // These fields are all related to profile gathering.   mozilla::Vector<ExitProfile> mExitProfiles;   mozilla::Maybe<mozilla::MozPromiseHolder<GatheringPromise>> mPromiseHolder;   nsCOMPtr<nsIThread> mSymbolTableThread;   mozilla::Maybe<SpliceableChunkedJSONWriter> mWriter;-  uint32_t mPendingProfiles;+  mozilla::Vector<PendingProfile> mPendingProfiles;   bool mGathering;   nsCOMPtr<nsITimer> mGatheringTimer; };
AI Analysis
Here's the analysis of the provided code diff following the specified format:

1. Vulnerability Existed: not sure  
   [Potential Removal of nsIObserver Interface] [tools/profiler/gecko/nsProfiler.h] [Lines: Class declaration changes]  
   [Old Code]  
   ```cpp
   class nsProfiler final : public nsIProfiler, public nsIObserver {
   ```  
   [Fixed Code]  
   ```cpp
   class nsProfiler final : public nsIProfiler {
   ```  
   Additional Details: The removal of nsIObserver interface might affect security if it was previously used for important notifications, but without more context this is uncertain.

2. Vulnerability Existed: not sure  
   [Potential Race Condition in Profile Gathering] [tools/profiler/gecko/nsProfiler.h] [Lines: Changes to GatheredOOPProfile signature and pending profiles handling]  
   [Old Code]  
   ```cpp
   void GatheredOOPProfile(const nsACString& aProfile);
   uint32_t mPendingProfiles;
   ```  
   [Fixed Code]  
   ```cpp
   void GatheredOOPProfile(base::ProcessId aChildPid, const nsACString& aProfile);
   mozilla::Vector<PendingProfile> mPendingProfiles;
   ```  
   Additional Details: The change adds process ID tracking and more sophisticated pending profile management, which might address potential race conditions in profile gathering, but without more context this is uncertain.

3. Vulnerability Existed: not sure  
   [Potential Timer Handling Improvement] [tools/profiler/gecko/nsProfiler.h] [Lines: New timer-related function]  
   [Old Code]  
   (No explicit timer restart function)  
   [Fixed Code]  
   ```cpp
   void RestartGatheringTimer();
   ```  
   Additional Details: The addition of explicit timer restart functionality might address potential timer-related issues, but without more context this is uncertain.

4. Vulnerability Existed: not sure  
   [Potential Information Leak] [tools/profiler/gecko/nsProfiler.h] [Lines: Removal of mLockedForPrivateBrowsing]  
   [Old Code]  
   ```cpp
   bool mLockedForPrivateBrowsing;
   ```  
   [Fixed Code]  
   (Removed)  
   Additional Details: The removal of private browsing lock flag might affect security in private browsing scenarios, but without more context this is uncertain.

Note: The changes appear to be architectural improvements rather than direct security fixes, but they might indirectly address security concerns. Without more context about the threat model or specific vulnerabilities being addressed, these assessments remain uncertain.
CVE Analysis Results:
CVE-2022-26384: No
View CVE Description
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
third_party/rust/futures/.cargo-checksum.json AI: No vulnerabilities
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/third_party/rust/futures/.cargo-checksum.json+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/rust/futures/.cargo-checksum.json@@ -1 +1 @@-{"files":{"Cargo.toml":"f26df61cb97a2ebebc529cda2aca3674c54cb8d9837cb034c6391a5001541e62","LICENSE-APACHE":"275c491d6d1160553c32fd6127061d7f9606c3ea25abfad6ca3f6ed088785427","LICENSE-MIT":"6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd","src/lib.rs":"c1969daa78ded2285a3f881d4e5ed874d4bc940593fd9a018c6bbec6c24db3e5","tests/_require_features.rs":"5ad24019430b498addfc1fd853e955c7b646d78d0727a8ca29f586c9aab45cff","tests/async_await_macros.rs":"e171f9f02e7b7b0d9c254ad9b0f777b0282a6742b7c72a0080d9f6e4a6a44a4d","tests/auto_traits.rs":"afd108f67ce7a1549071c0f2316af63be3cb9ef864ff9856c9b2d4e47987c349","tests/compat.rs":"1ab5af07f13fad9b8fbf29c0df89102687b6abe855ce92bac153d5f916b28689","tests/eager_drop.rs":"dc25d067207c06bbe094752d70bf161e206f00e162ffa3219583c8b4eb0816a1","tests/eventual.rs":"4e3db25ac3f5ebb191caf538c460234eb95413b17441372cc3234d2cbecdc551","tests/future_abortable.rs":"4c81607472a85c5d87a5fe8a510a24cf1e8793fedf7f6cd6741ba1efd66615cd","tests/future_basic_combinators.rs":"4508c1250b85a4f749b7261bbd0ba728d3970e7ba277e84a006e76cf068fb54f","tests/future_fuse.rs":"bb63141f1486e755d0cdea1d93e302ad864a2186aa5287f909a0b3a922e82065","tests/future_inspect.rs":"9c03ceb770ce04fe9fd88a3489362642a0e34ae86a7b4958703e89e8b7a1ecf4","tests/future_join_all.rs":"4c7ab90afc4a0ae721e16f92615cd990a7a608de50b88ba06e6f931478ea04cd","tests/future_obj.rs":"a6aae88a194dc7d3bb961c20db78f180a01796cf7ea4bf106da98c40d89ed36d","tests/future_select_all.rs":"4cefc84d6b7ae2cf0007912cd0325fff6b926a4c26310e7b14a21868de61616f","tests/future_select_ok.rs":"1cabd03268641e1ac42b880344528bad73e3aeb6d6a8a141e652f339dd40184b","tests/future_shared.rs":"778e8763dea8df205581ec8dd9bf1453ca9f17065b496cecb6728147a148efeb","tests/future_try_flatten_stream.rs":"aa4542b5d88f62522b736fac4567613081df45ad3eb54b0b659cdadc9409c4db","tests/future_try_join_all.rs":"2bdd2e7d7f6d8b9c28b05e374906e10a914c2ff36762a0fd81ca4d892fad1341","tests/io_buf_reader.rs":"1d60479224d5aa9378d4aed6246362b08a823ee7c9977f6a5e44fce7c40116be","tests/io_buf_writer.rs":"8f7a78ab2955d2beb69d0881321d4191235540aef6448e875e7f76a2ffc55b89","tests/io_cursor.rs":"cba5a7b968b9f816ac33316ce1e4da67cb320aa5a21332c0f9a45694fa445dd7","tests/io_line_writer.rs":"5b1140de776a721a677911496daa4e7956cc52cc08838d593ab300a93e0d7984","tests/io_lines.rs":"72a310c885591793ed724d0aa2158ac2c9d1af22de417044d96b714f78317586","tests/io_read.rs":"e0a8fa9b27e042f03c9fe14e8f0f329a67e24afad1ce40b906a1ab4d2abef23a","tests/io_read_exact.rs":"42049cd67589992dc09764ffb3836c475115b26dee441fd4cc7e847b2d166667","tests/io_read_line.rs":"f360c30c32fc8c73b371281e86c3f1095da7ef23b702debb30d335046dc77dac","tests/io_read_to_end.rs":"ea3e961e39a0b92930bded05e8ba26e4902461ab53818843d40fae8065b1a803","tests/io_read_to_string.rs":"824921601ac49f15b9a0b349c900f9cc9081cf2646e6a86f443166f841f1320e","tests/io_read_until.rs":"36d9a98149b2410894121ccba49e5134e3209826b2225acfc787016cea2bc92a","tests/io_window.rs":"0d18334b1eb35f5e93099e19c0cab22abe5971d8531176b81345fc89d07692a8","tests/io_write.rs":"701032ff3d5a6e6a3d8cb4e373d1c93e4708f2e5ee0a6742fa626f27b6094b4d","tests/lock_mutex.rs":"055ec0365e7ccd3698aa4b02336fd4dd801017aeb2c19345c58b43415d40fa06","tests/macro_comma_support.rs":"627024ccadfe95194469d5bae2cc29b897b0118a664d7222408a2e234a10e939","tests/object_safety.rs":"9d047190387ed8334113687003c23407c80c858411f5ec7d5c505500f9639dfc","tests/oneshot.rs":"2109a8b3b524f4b36be9fb100f9b8c0d38bbd38d51716adcafdb65994b4a81d6","tests/ready_queue.rs":"cf7047cefab12ff0e2e0ca1ff2123ae87b85a2464fa4c2b6a0e2fc8ee5f25aa1","tests/recurse.rs":"b01b3d73b69ad90a767d297f974dac435817c39e12556fa6a3e6c725dd84f706","tests/sink.rs":"a96700307d6b2bea87c5567a93e0ac81d9ebc7ed354a35fa1b893b39ac8b3759","tests/sink_fanout.rs":"67ab58422040308353955311f75222e55378e4cc34557c7b34140bd20c259132","tests/stream.rs":"78be652d49845b2562e275293398686079b512d88e12661ea644e0881c97be27","tests/stream_abortable.rs":"60052b83b5eeb2395b77bc213f35098d2d5880529f0d83884582a8bbff78b139","tests/stream_buffer_unordered.rs":"143ee19056b9ee9e480903cf4a1b00da7d4e528c5804569bf8c40869e6ac6eed","tests/stream_catch_unwind.rs":"5cdaaf70436c49d3a7107bdc5547ddb8757c3d2057635aded70e485d0cb9cbfc","tests/stream_futures_ordered.rs":"b6f8beafd37e44e82c1f6de322ecba752f9d833d5520ed3ea63c303ea1979644","tests/stream_futures_unordered.rs":"32dac90b8abfe896b07f5bb5c9faa473c174f4df16440cb75aacc0fd683ccd29","tests/stream_into_async_read.rs":"00ecb18289ebc8f46ea0cf43e0dce0631d7698bd1303a7bcd84d0addc9d8b645","tests/stream_peekable.rs":"c0addb0c510e13183ba3d6102633b75a9223651ae80a64542e913c712fe69a30","tests/stream_select_all.rs":"3a9045754939da5b30305e78f0571d79a03aaa77030c6ccf82225f076e9843c9","tests/stream_select_next_some.rs":"871edcee3ffc16c697251b29c9ba500aa4e3e503aa738748d7392e3462c82dce","tests/stream_split.rs":"074e9c9b51b6f7ea83d77347b5a0c8d414ca32b90445fec9b85f7f4cd2a6049f","tests/stream_try_stream.rs":"cf9af07a31697a43ab0071d958f71fba6d84b2f3031301fd309821a72f3de5f7","tests/stream_unfold.rs":"7c6fbd10c782828793cbe1eb347ec776d99b185dad498e886f7161da76f76880","tests/task_arc_wake.rs":"5a49d074d1d5d9d5ec383dcd9a3868f636c1d7e34662e2573e467948db126206","tests/task_atomic_waker.rs":"8e85b4bc1360788646a52633dfe896d852773d6b482f81626cf534b97b7d937a","tests/test_macro.rs":"a46a946169c342c576936b60909165a50b94350501280ed9bba89d365af69287","tests/try_join.rs":"65f282f8351bd9a74642f2465c7aaf72ee7097002920989f156d60271652549e","tests_disabled/all.rs":"ddcd8fefb0d4a4a91a78328e7e652c35f93dc3669639d76fa0f56452b51abc23","tests_disabled/bilock.rs":"74e598568403df45460085166b7b90012d40dae8670b1c8dec126322a4ce171f","tests_disabled/stream.rs":"10e701f0eb83bcc6ec74d96529ad7dad5ad38bf5826574049501aeb07c5b76fa"},"package":"8cd0210d8c325c245ff06fd95a3b13689a1a276ac8cfa8e8720cb840bfb84b9e"}+{"files":{"Cargo.toml":"d5f1e8cd3101583132847daf46805ef6c0576cc5fcf954db0bb06948da552ce2","LICENSE-APACHE":"275c491d6d1160553c32fd6127061d7f9606c3ea25abfad6ca3f6ed088785427","LICENSE-MIT":"6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd","src/lib.rs":"64dde6f72fcb20b91783219bb78cedfeb1558696de0b7aaee92598cf82ab6144","tests/_require_features.rs":"5ad24019430b498addfc1fd853e955c7b646d78d0727a8ca29f586c9aab45cff","tests/async_await_macros.rs":"e171f9f02e7b7b0d9c254ad9b0f777b0282a6742b7c72a0080d9f6e4a6a44a4d","tests/auto_traits.rs":"afd108f67ce7a1549071c0f2316af63be3cb9ef864ff9856c9b2d4e47987c349","tests/compat.rs":"1ab5af07f13fad9b8fbf29c0df89102687b6abe855ce92bac153d5f916b28689","tests/eager_drop.rs":"dc25d067207c06bbe094752d70bf161e206f00e162ffa3219583c8b4eb0816a1","tests/eventual.rs":"4e3db25ac3f5ebb191caf538c460234eb95413b17441372cc3234d2cbecdc551","tests/future_abortable.rs":"4c81607472a85c5d87a5fe8a510a24cf1e8793fedf7f6cd6741ba1efd66615cd","tests/future_basic_combinators.rs":"4508c1250b85a4f749b7261bbd0ba728d3970e7ba277e84a006e76cf068fb54f","tests/future_fuse.rs":"bb63141f1486e755d0cdea1d93e302ad864a2186aa5287f909a0b3a922e82065","tests/future_inspect.rs":"9c03ceb770ce04fe9fd88a3489362642a0e34ae86a7b4958703e89e8b7a1ecf4","tests/future_join_all.rs":"4c7ab90afc4a0ae721e16f92615cd990a7a608de50b88ba06e6f931478ea04cd","tests/future_obj.rs":"a6aae88a194dc7d3bb961c20db78f180a01796cf7ea4bf106da98c40d89ed36d","tests/future_select_all.rs":"4cefc84d6b7ae2cf0007912cd0325fff6b926a4c26310e7b14a21868de61616f","tests/future_select_ok.rs":"1cabd03268641e1ac42b880344528bad73e3aeb6d6a8a141e652f339dd40184b","tests/future_shared.rs":"778e8763dea8df205581ec8dd9bf1453ca9f17065b496cecb6728147a148efeb","tests/future_try_flatten_stream.rs":"aa4542b5d88f62522b736fac4567613081df45ad3eb54b0b659cdadc9409c4db","tests/future_try_join_all.rs":"2bdd2e7d7f6d8b9c28b05e374906e10a914c2ff36762a0fd81ca4d892fad1341","tests/io_buf_reader.rs":"1d60479224d5aa9378d4aed6246362b08a823ee7c9977f6a5e44fce7c40116be","tests/io_buf_writer.rs":"8f7a78ab2955d2beb69d0881321d4191235540aef6448e875e7f76a2ffc55b89","tests/io_cursor.rs":"cba5a7b968b9f816ac33316ce1e4da67cb320aa5a21332c0f9a45694fa445dd7","tests/io_line_writer.rs":"5b1140de776a721a677911496daa4e7956cc52cc08838d593ab300a93e0d7984","tests/io_lines.rs":"72a310c885591793ed724d0aa2158ac2c9d1af22de417044d96b714f78317586","tests/io_read.rs":"e0a8fa9b27e042f03c9fe14e8f0f329a67e24afad1ce40b906a1ab4d2abef23a","tests/io_read_exact.rs":"42049cd67589992dc09764ffb3836c475115b26dee441fd4cc7e847b2d166667","tests/io_read_line.rs":"f360c30c32fc8c73b371281e86c3f1095da7ef23b702debb30d335046dc77dac","tests/io_read_to_end.rs":"ea3e961e39a0b92930bded05e8ba26e4902461ab53818843d40fae8065b1a803","tests/io_read_to_string.rs":"824921601ac49f15b9a0b349c900f9cc9081cf2646e6a86f443166f841f1320e","tests/io_read_until.rs":"36d9a98149b2410894121ccba49e5134e3209826b2225acfc787016cea2bc92a","tests/io_window.rs":"0d18334b1eb35f5e93099e19c0cab22abe5971d8531176b81345fc89d07692a8","tests/io_write.rs":"701032ff3d5a6e6a3d8cb4e373d1c93e4708f2e5ee0a6742fa626f27b6094b4d","tests/lock_mutex.rs":"055ec0365e7ccd3698aa4b02336fd4dd801017aeb2c19345c58b43415d40fa06","tests/macro_comma_support.rs":"627024ccadfe95194469d5bae2cc29b897b0118a664d7222408a2e234a10e939","tests/object_safety.rs":"9d047190387ed8334113687003c23407c80c858411f5ec7d5c505500f9639dfc","tests/oneshot.rs":"2109a8b3b524f4b36be9fb100f9b8c0d38bbd38d51716adcafdb65994b4a81d6","tests/ready_queue.rs":"cf7047cefab12ff0e2e0ca1ff2123ae87b85a2464fa4c2b6a0e2fc8ee5f25aa1","tests/recurse.rs":"b01b3d73b69ad90a767d297f974dac435817c39e12556fa6a3e6c725dd84f706","tests/sink.rs":"a96700307d6b2bea87c5567a93e0ac81d9ebc7ed354a35fa1b893b39ac8b3759","tests/sink_fanout.rs":"67ab58422040308353955311f75222e55378e4cc34557c7b34140bd20c259132","tests/stream.rs":"78be652d49845b2562e275293398686079b512d88e12661ea644e0881c97be27","tests/stream_abortable.rs":"60052b83b5eeb2395b77bc213f35098d2d5880529f0d83884582a8bbff78b139","tests/stream_buffer_unordered.rs":"143ee19056b9ee9e480903cf4a1b00da7d4e528c5804569bf8c40869e6ac6eed","tests/stream_catch_unwind.rs":"5cdaaf70436c49d3a7107bdc5547ddb8757c3d2057635aded70e485d0cb9cbfc","tests/stream_futures_ordered.rs":"b6f8beafd37e44e82c1f6de322ecba752f9d833d5520ed3ea63c303ea1979644","tests/stream_futures_unordered.rs":"12a361ac0d3694908127372de8b710acc5ff08a7ad5e493ca795bdcfb9601c86","tests/stream_into_async_read.rs":"00ecb18289ebc8f46ea0cf43e0dce0631d7698bd1303a7bcd84d0addc9d8b645","tests/stream_peekable.rs":"c0addb0c510e13183ba3d6102633b75a9223651ae80a64542e913c712fe69a30","tests/stream_select_all.rs":"3a9045754939da5b30305e78f0571d79a03aaa77030c6ccf82225f076e9843c9","tests/stream_select_next_some.rs":"871edcee3ffc16c697251b29c9ba500aa4e3e503aa738748d7392e3462c82dce","tests/stream_split.rs":"074e9c9b51b6f7ea83d77347b5a0c8d414ca32b90445fec9b85f7f4cd2a6049f","tests/stream_try_stream.rs":"cf9af07a31697a43ab0071d958f71fba6d84b2f3031301fd309821a72f3de5f7","tests/stream_unfold.rs":"7c6fbd10c782828793cbe1eb347ec776d99b185dad498e886f7161da76f76880","tests/task_arc_wake.rs":"5a49d074d1d5d9d5ec383dcd9a3868f636c1d7e34662e2573e467948db126206","tests/task_atomic_waker.rs":"8e85b4bc1360788646a52633dfe896d852773d6b482f81626cf534b97b7d937a","tests/test_macro.rs":"a46a946169c342c576936b60909165a50b94350501280ed9bba89d365af69287","tests/try_join.rs":"65f282f8351bd9a74642f2465c7aaf72ee7097002920989f156d60271652549e","tests_disabled/all.rs":"ddcd8fefb0d4a4a91a78328e7e652c35f93dc3669639d76fa0f56452b51abc23","tests_disabled/bilock.rs":"74e598568403df45460085166b7b90012d40dae8670b1c8dec126322a4ce171f","tests_disabled/stream.rs":"10e701f0eb83bcc6ec74d96529ad7dad5ad38bf5826574049501aeb07c5b76fa"},"package":"28560757fe2bb34e79f907794bb6b22ae8b0e5c669b638a1132f2592b19035b4"}=========testing/web-platform/tests/css/css-break/widows-001.html========--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/css/css-break/widows-001.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/css-break/widows-001.html@@ -23,7 +23,6 @@   -->-  <meta name="flags" content="">   <meta name="assert" content="When column boxes are filled sequentially, their content should be adjusted and fragmented in accordance with the 'widows' declaration. In the test, since the 3rd column box was going to get only 1 line box, then a class B break point is allowed and should occur before the last line box of the 2nd column box and after the next-to-last line box of the 2nd column box so that there is a minimum of 2 line boxes at the top of the 3rd column box.">   <!--
AI Analysis
After analyzing the provided code diff, I don't see any clear security vulnerabilities being fixed. The changes appear to be:

1. Updates to checksums in a Rust package's metadata file (third_party/rust/futures/.cargo-checksum.json)
2. Removal of an empty "flags" meta tag in an HTML test file (testing/web-platform/tests/css/css-break/widows-001.html)

Neither of these changes appear to be security-related. Here's the structured response:

Vulnerability Existed: no
[No security vulnerability found] [third_party/rust/futures/.cargo-checksum.json] [File checksum updates]
[Old checksums]
[New checksums]

Vulnerability Existed: no
[No security vulnerability found] [testing/web-platform/tests/css/css-break/widows-001.html] [Removal of empty meta tag]
[<meta name="flags" content="">]
[Removed line]

These changes appear to be routine updates rather than security fixes. The first is likely due to version updates in dependencies, and the second is a minor cleanup of test metadata.
CVE Analysis Results:
CVE-2022-26384: No
View CVE Description
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
third_party/rust/serde/build.rs AI: No vulnerabilities
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/third_party/rust/serde/build.rs+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/rust/serde/build.rs@@ -91,13 +91,14 @@         // Whitelist of archs that support std::sync::atomic module. Ideally we         // would use #[cfg(target_has_atomic = "...")] but it is not stable yet.-        // Instead this is based on rustc's src/librustc_target/spec/*.rs.+        // Instead this is based on rustc's compiler/rustc_target/src/spec/*.rs.         let has_atomic64 = target.starts_with("x86_64")             || target.starts_with("i686")             || target.starts_with("aarch64")             || target.starts_with("powerpc64")             || target.starts_with("sparc64")-            || target.starts_with("mips64el");+            || target.starts_with("mips64el")+            || target.starts_with("riscv64");         let has_atomic32 = has_atomic64 || emscripten;         if has_atomic64 {             println!("cargo:rustc-cfg=std_atomic64");
AI Analysis
Here's the analysis of the provided code diff:

Vulnerability Existed: no
[No Vulnerability Found] [third_party/rust/serde/build.rs] [Lines 91-98]
[Old Code]
        let has_atomic64 = target.starts_with("x86_64")
            || target.starts_with("i686")
            || target.starts_with("aarch64")
            || target.starts_with("powerpc64")
            || target.starts_with("sparc64")
            || target.starts_with("mips64el");
[Fixed Code]
        let has_atomic64 = target.starts_with("x86_64")
            || target.starts_with("i686")
            || target.starts_with("aarch64")
            || target.starts_with("powerpc64")
            || target.starts_with("sparc64")
            || target.starts_with("mips64el")
            || target.starts_with("riscv64");

Additional Details:
1. The change is a documentation update (comment about rustc source location) and an addition of riscv64 to the atomic64 support list.
2. This appears to be a feature enhancement rather than a security fix.
3. No security vulnerability is being addressed here - just expanding platform support and updating documentation paths.
CVE Analysis Results:
CVE-2022-26384: No
View CVE Description
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
testing/web-platform/tests/css/css-ui/outline-offset-001.html AI: No vulnerabilities
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/css/css-ui/outline-offset-001.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/css-ui/outline-offset-001.html@@ -5,7 +5,6 @@ <link rel="help" title="7.5. 'outline-offset' property" href="http://www.w3.org/TR/css3-ui/#outline-offset"> <link rel="author" title="Shiyou Tan" href="mailto:[email protected]"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht">-<meta name="flags" content=""> <meta name="assert" content="Test checks that the outline-offset keeps spacing between outline and element content"> <style>   #container {
AI Analysis
Let me analyze the provided code diff for security fixes.

Vulnerability Existed: no
No specific vulnerability found [File] testing/web-platform/tests/css/css-ui/outline-offset-001.html [Lines 5]
[Old Code]
<meta name="flags" content="">
[Fixed Code]
(removed line)

Additional Details:
- This appears to be a simple test file modification where an empty meta "flags" tag was removed
- There's no indication of any security vulnerability being fixed
- The change seems to be a test cleanup rather than a security fix
- No known vulnerability patterns (XSS, injection, etc.) are present in this change

The modification doesn't appear to address any security issues but rather removes an unnecessary or deprecated test flag.
CVE Analysis Results:
CVE-2022-26384: No
View CVE Description
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
testing/web-platform/tests/html/canvas/offscreen/drawing-rectangles-to-the-canvas/2d.strokeRect.globalcomposite.html AI: No vulnerabilities
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/html/canvas/offscreen/drawing-rectangles-to-the-canvas/2d.strokeRect.globalcomposite.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/drawing-rectangles-to-the-canvas/2d.strokeRect.globalcomposite.html@@ -17,14 +17,14 @@ }); t.step(function() {-var offscreenCanvas = new OffscreenCanvas(100, 50);-var ctx = offscreenCanvas.getContext('2d');+var canvas = new OffscreenCanvas(100, 50);+var ctx = canvas.getContext('2d'); ctx.globalCompositeOperation = 'source-in'; ctx.strokeStyle = '#f00'; ctx.lineWidth = 50; ctx.strokeRect(25, 24, 50, 2);-_assertPixel(offscreenCanvas, 50,25, 0,0,0,0, "50,25", "0,0,0,0");+_assertPixel(canvas, 50,25, 0,0,0,0, "50,25", "0,0,0,0"); t.done(); });
AI Analysis
Based on the provided diff, I'll analyze it for security vulnerabilities:

1. Vulnerability Existed: no
   No specific vulnerability found [File] testing/web-platform/tests/html/canvas/offscreen/drawing-rectangles-to-the-canvas/2d.strokeRect.globalcomposite.html [Lines 17-25]
   [Old Code]
   var offscreenCanvas = new OffscreenCanvas(100, 50);
   var ctx = offscreenCanvas.getContext('2d');
   ...
   _assertPixel(offscreenCanvas, 50,25, 0,0,0,0, "50,25", "0,0,0,0");
   
   [Fixed Code]
   var canvas = new OffscreenCanvas(100, 50);
   var ctx = canvas.getContext('2d');
   ...
   _assertPixel(canvas, 50,25, 0,0,0,0, "50,25", "0,0,0,0");

The changes appear to be purely variable renaming (from 'offscreenCanvas' to 'canvas') with no security implications. This is likely a code style/readability improvement rather than a security fix. No known vulnerability patterns are present in either the old or new code.
CVE Analysis Results:
CVE-2022-26384: No
View CVE Description
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.interpolate.colour.html AI: No vulnerabilities
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.interpolate.colour.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.interpolate.colour.html@@ -17,17 +17,17 @@ }); t.step(function() {-var offscreenCanvas = new OffscreenCanvas(100, 50);-var ctx = offscreenCanvas.getContext('2d');+var canvas = new OffscreenCanvas(100, 50);+var ctx = canvas.getContext('2d'); var g = ctx.createLinearGradient(0, 0, 100, 0); g.addColorStop(0, '#ff0'); g.addColorStop(1, '#00f'); ctx.fillStyle = g; ctx.fillRect(0, 0, 100, 50);-_assertPixelApprox(offscreenCanvas, 25,25, 191,191,63,255, "25,25", "191,191,63,255", 3);-_assertPixelApprox(offscreenCanvas, 50,25, 127,127,127,255, "50,25", "127,127,127,255", 3);-_assertPixelApprox(offscreenCanvas, 75,25, 63,63,191,255, "75,25", "63,63,191,255", 3);+_assertPixelApprox(canvas, 25,25, 191,191,63,255, "25,25", "191,191,63,255", 3);+_assertPixelApprox(canvas, 50,25, 127,127,127,255, "50,25", "127,127,127,255", 3);+_assertPixelApprox(canvas, 75,25, 63,63,191,255, "75,25", "63,63,191,255", 3); t.done(); });
AI Analysis
Based on the provided code diff, I don't see any security-related fixes. The changes appear to be purely variable renaming (from `offscreenCanvas` to `canvas`) and updating the corresponding assertions to use the new variable name. There are no changes to the actual security-sensitive parts of the code.

Here's the analysis following the requested format:

    Vulnerability Existed: no
    No security vulnerability found [File: testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.interpolate.colour.html] [Lines: 17-28]
    [Old Code: var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); ... _assertPixelApprox(offscreenCanvas, ...)]
    [Fixed Code: var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); ... _assertPixelApprox(canvas, ...)]

The changes are purely cosmetic/refactoring in nature and don't address any security vulnerabilities. The functionality remains exactly the same, just with a different variable name.
CVE Analysis Results:
CVE-2022-26384: No
View CVE Description
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
Showing 721-740 of 6017 files
Per page: