[NUI] Fix svace issue of Marshal.Copy
authorXianbing Teng <xb.teng@samsung.com>
Mon, 8 Jan 2024 06:56:58 +0000 (14:56 +0800)
committerdongsug-song <35130733+dongsug-song@users.noreply.github.com>
Tue, 9 Jan 2024 02:16:17 +0000 (11:16 +0900)
src/Tizen.NUI/src/public/BaseComponents/DirectRenderingGLView.cs

index 055c241..0334585 100644 (file)
@@ -186,18 +186,17 @@ namespace Tizen.NUI.BaseComponents
                 if (textures != null)
                 {
                     int count = textures.Count;
-                    int intptrBytes = checked(Marshal.SizeOf(typeof(IntPtr)) * count);
-                    if (intptrBytes > 0)
+                    if (count > 0)
                     {
                         IntPtr[] texturesArray = new IntPtr[count];
                         for (int i = 0; i < count; i++)
                         {
                             texturesArray[i] = HandleRef.ToIntPtr(Texture.getCPtr(textures[i]));
                         }
-                        IntPtr unmanagedPointer = Marshal.AllocHGlobal(intptrBytes);
-                        Marshal.Copy(texturesArray, 0, unmanagedPointer, texturesArray.Length);
+                        IntPtr unmanagedPointer = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(IntPtr)) * count);
+                        Marshal.Copy(texturesArray, 0, unmanagedPointer, count);
 
-                        Interop.GLView.GlViewBindTextureResources(SwigCPtr, unmanagedPointer, texturesArray.Length);
+                        Interop.GLView.GlViewBindTextureResources(SwigCPtr, unmanagedPointer, count);
                         Marshal.FreeHGlobal(unmanagedPointer);
                     }
                 }