libbluray | branch: master | hpi1 <h...@anonymous.org> | Sat Aug 6 18:58:22 2016 +0300| [e057d211a046e98d503d83e2f760b42b87f40bd4] | committer: hpi1
Check MultiByteToWideChar() return value > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=e057d211a046e98d503d83e2f760b42b87f40bd4 --- src/file/dir_win32.c | 4 +++- src/file/file_win32.c | 13 ++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/file/dir_win32.c b/src/file/dir_win32.c index 2690658..9e3190a 100644 --- a/src/file/dir_win32.c +++ b/src/file/dir_win32.c @@ -62,7 +62,9 @@ static int _dir_read_win32(BD_DIR_H *dir, BD_DIRENT *entry) if (!priv->info.name[0]) { return 1; } - WideCharToMultiByte(CP_UTF8, 0, priv->info.name, -1, entry->d_name, sizeof(entry->d_name), NULL, NULL); + if (!WideCharToMultiByte(CP_UTF8, 0, priv->info.name, -1, entry->d_name, sizeof(entry->d_name), NULL, NULL)) { + return -1; + } priv->info.name[0] = 0; _wfindnext(priv->handle, &priv->info); diff --git a/src/file/file_win32.c b/src/file/file_win32.c index d9845fb..11aaf82 100644 --- a/src/file/file_win32.c +++ b/src/file/file_win32.c @@ -152,7 +152,10 @@ int file_unlink(const char *file) { wchar_t wfile[MAX_PATH]; - MultiByteToWideChar(CP_UTF8, 0, file, -1, wfile, MAX_PATH); + if (!MultiByteToWideChar(CP_UTF8, 0, file, -1, wfile, MAX_PATH)) { + return -1; + } + return _wremove(wfile); } @@ -160,7 +163,9 @@ int file_path_exists(const char *path) { wchar_t wpath[MAX_PATH]; - MultiByteToWideChar(CP_UTF8, 0, path, -1, wpath, MAX_PATH); + if (!MultiByteToWideChar(CP_UTF8, 0, path, -1, wpath, MAX_PATH)) { + return -1; + } DWORD dwAttrib = GetFileAttributesW(wpath); if (dwAttrib != INVALID_FILE_ATTRIBUTES) { @@ -173,7 +178,9 @@ int file_mkdir(const char *dir) { wchar_t wdir[MAX_PATH]; - MultiByteToWideChar(CP_UTF8, 0, dir, -1, wdir, MAX_PATH); + if (!MultiByteToWideChar(CP_UTF8, 0, dir, -1, wdir, MAX_PATH)) { + return -1; + } if (!CreateDirectoryW(wdir, NULL)) return -1; return 0; _______________________________________________ libbluray-devel mailing list libbluray-devel@videolan.org https://mailman.videolan.org/listinfo/libbluray-devel