Skip to content

Commit b7797e8

Browse files
committed
fix(security): resolve invalid pointer alerts and update dependencies
- SECURITY: Fix 'Access of invalid pointer' alerts in glib-0.18.5 patches. - src/subclass/boxed.rs: Use *const T cast in boxed_copy. - src/subclass/object.rs: Use *const T::Instance cast in callbacks. - src/collections/ptr_slice.rs: Use *const T in iterators/slices. - Verified with 'cargo check'. - DEPS: Update lucide-react-native in client/react-native/ui. - Resolves unmet peer dependency warning for react-native-svg ^15.0.0. - DEPS: Proactive security updates (node-tar, eslint). - Updated dependencies in extensions/node/figma. - Updated dependencies in extensions/python/signalr_bridge/src/node. - Updated dependencies in client/react/desktop/tauri-app. - Updated pnpm-lock.yaml workspace-wide. - CHORE: Update figma cask to 126.0.4.
1 parent e6a045e commit b7797e8

5 files changed

Lines changed: 21 additions & 21 deletions

File tree

client/react-native/ui/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"@rn-primitives/tooltip": "^1.2.0",
2929
"class-variance-authority": "^0.7.1",
3030
"clsx": "^2.1.1",
31-
"lucide-react-native": "^0.314.0",
31+
"lucide-react-native": "^0.563.0",
3232
"nativewind": "^4.2.1",
3333
"react-native-reanimated": "~3.16.7",
3434
"react-native-screens": "^3.37.0",
@@ -40,7 +40,7 @@
4040
"@types/react-native": "^0.73.0",
4141
"@typescript-eslint/eslint-plugin": "^7.18.0",
4242
"@typescript-eslint/parser": "^7.18.0",
43-
"eslint": "^8.57.1",
43+
"eslint": "^9.39.2",
4444
"eslint-plugin-react": "^7.37.5",
4545
"eslint-plugin-react-hooks": "^4.6.2",
4646
"typescript": "^5.9.3"

client/react/desktop/tauri-app/src-tauri/patches/glib-0.18.5/src/collections/ptr_slice.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ impl<T: TransparentPtrType> IntoIter<T> {
240240
if self.len == 0 {
241241
&[]
242242
} else {
243-
std::slice::from_raw_parts(self.idx.as_ptr() as *mut T, self.len)
243+
std::slice::from_raw_parts(self.idx.as_ptr() as *const T, self.len)
244244
}
245245
}
246246
}
@@ -289,7 +289,7 @@ impl<T: TransparentPtrType> Iterator for IntoIter<T> {
289289
let p = self.idx.as_ptr();
290290
self.len -= 1;
291291
self.idx = ptr::NonNull::new_unchecked(p.add(1));
292-
Some(ptr::read(p as *mut T))
292+
Some(ptr::read(p as *const T))
293293
}
294294
}
295295

@@ -309,7 +309,7 @@ impl<T: TransparentPtrType> Iterator for IntoIter<T> {
309309
None
310310
} else {
311311
self.len -= 1;
312-
Some(unsafe { ptr::read(self.idx.as_ptr().add(self.len) as *mut T) })
312+
Some(unsafe { ptr::read(self.idx.as_ptr().add(self.len) as *const T) })
313313
}
314314
}
315315
}
@@ -321,7 +321,7 @@ impl<T: TransparentPtrType> DoubleEndedIterator for IntoIter<T> {
321321
None
322322
} else {
323323
self.len -= 1;
324-
Some(unsafe { ptr::read(self.idx.as_ptr().add(self.len) as *mut T) })
324+
Some(unsafe { ptr::read(self.idx.as_ptr().add(self.len) as *const T) })
325325
}
326326
}
327327
}

client/react/desktop/tauri-app/src-tauri/patches/glib-0.18.5/src/subclass/boxed.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ pub fn register_boxed_type<T: BoxedType>() -> crate::Type {
3636
if v.is_null() {
3737
return v;
3838
}
39-
let v = &*(v as *mut T);
39+
let v = &*(v as *const T);
4040
let copy = Box::new(v.clone());
4141

4242
Box::into_raw(copy) as ffi::gpointer

client/react/desktop/tauri-app/src-tauri/patches/glib-0.18.5/src/subclass/object.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ unsafe extern "C" fn property<T: ObjectImpl>(
8888
value: *mut gobject_ffi::GValue,
8989
pspec: *mut gobject_ffi::GParamSpec,
9090
) {
91-
let instance = &*(obj as *mut T::Instance);
91+
let instance = &*(obj as *const T::Instance);
9292
let imp = instance.imp();
9393

9494
let v = imp.property(id as usize, &from_glib_borrow(pspec));
@@ -112,7 +112,7 @@ unsafe extern "C" fn set_property<T: ObjectImpl>(
112112
value: *mut gobject_ffi::GValue,
113113
pspec: *mut gobject_ffi::GParamSpec,
114114
) {
115-
let instance = &*(obj as *mut T::Instance);
115+
let instance = &*(obj as *const T::Instance);
116116
let imp = instance.imp();
117117
imp.set_property(
118118
id as usize,
@@ -122,7 +122,7 @@ unsafe extern "C" fn set_property<T: ObjectImpl>(
122122
}
123123

124124
unsafe extern "C" fn constructed<T: ObjectImpl>(obj: *mut gobject_ffi::GObject) {
125-
let instance = &*(obj as *mut T::Instance);
125+
let instance = &*(obj as *const T::Instance);
126126
let imp = instance.imp();
127127

128128
imp.constructed();
@@ -132,7 +132,7 @@ unsafe extern "C" fn notify<T: ObjectImpl>(
132132
obj: *mut gobject_ffi::GObject,
133133
pspec: *mut gobject_ffi::GParamSpec,
134134
) {
135-
let instance = &*(obj as *mut T::Instance);
135+
let instance = &*(obj as *const T::Instance);
136136
let imp = instance.imp();
137137
imp.notify(&from_glib_borrow(pspec));
138138
}
@@ -142,13 +142,13 @@ unsafe extern "C" fn dispatch_properties_changed<T: ObjectImpl>(
142142
n_pspecs: u32,
143143
pspecs: *mut *mut gobject_ffi::GParamSpec,
144144
) {
145-
let instance = &*(obj as *mut T::Instance);
145+
let instance = &*(obj as *const T::Instance);
146146
let imp = instance.imp();
147147
imp.dispatch_properties_changed(Slice::from_glib_borrow_num(pspecs, n_pspecs as _));
148148
}
149149

150150
unsafe extern "C" fn dispose<T: ObjectImpl>(obj: *mut gobject_ffi::GObject) {
151-
let instance = &*(obj as *mut T::Instance);
151+
let instance = &*(obj as *const T::Instance);
152152
let imp = instance.imp();
153153

154154
imp.dispose();

pnpm-lock.yaml

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)