diff options
author | LRN <lrn1986@gmail.com> | 2021-08-07 05:36:40 +0000 |
---|---|---|
committer | LRN <lrn1986@gmail.com> | 2021-08-07 05:36:40 +0000 |
commit | 14f583bc23c98e21e257e7cad04ba027d1738fe3 (patch) | |
tree | bc10020fb3cac3581a7fc5159598cf1f3f1b04d6 | |
parent | e74782719b2cb569802549e0ba3eae7b6ea21817 (diff) | |
parent | 032eceb9a1f61ea229b681fe769336e15541d4b5 (diff) | |
download | glib-14f583bc23c98e21e257e7cad04ba027d1738fe3.tar.gz |
Merge branch 'filename-length' into 'main'
gwin32packageparser: Fix read past end of buffer
Closes #2454
See merge request GNOME/glib!2213
-rwxr-xr-x | gio/gwin32packageparser.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gio/gwin32packageparser.c b/gio/gwin32packageparser.c index ad5302270..ee05bb1dd 100755 --- a/gio/gwin32packageparser.c +++ b/gio/gwin32packageparser.c @@ -390,7 +390,7 @@ g_win32_package_parser_enum_packages (GWin32PackageParserCallback callback, wcs_path = LoadedWindowsGetStringRawBuffer (path, NULL); manifest_filename_size = wcslen (wcs_path) + wcslen (bslash_appmanifest); manifest_filename = g_new (wchar_t, manifest_filename_size + 1); - memcpy (manifest_filename, wcs_path, manifest_filename_size * sizeof (wchar_t)); + memcpy (manifest_filename, wcs_path, wcslen (wcs_path) * sizeof (wchar_t)); memcpy (&manifest_filename[wcslen (wcs_path)], bslash_appmanifest, (wcslen (bslash_appmanifest) + 1) * sizeof (wchar_t)); memset (sax, 0, sizeof (*sax)); |