vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Sun Feb 23 16:03:28 2020 +0200| [e31aedd83ba3ccb00b128a676df5dcd424e1e17d] | committer: Rémi Denis-Courmont
unc: don't depend on MAX_PATH > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=e31aedd83ba3ccb00b128a676df5dcd424e1e17d --- modules/access/unc.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/modules/access/unc.c b/modules/access/unc.c index f7b6a7be71..fbb3a58240 100644 --- a/modules/access/unc.c +++ b/modules/access/unc.c @@ -54,42 +54,44 @@ static void Win32AddConnection(stream_t *access, const char *server, const char *share, const char *user, const char *pwd) { - NETRESOURCE net_resource; - char remote_name[MAX_PATH]; + char *remote_name; - memset(&net_resource, 0, sizeof (net_resource)); - net_resource.dwType = RESOURCETYPE_DISK; - - snprintf(remote_name, sizeof (remote_name), "\\\\%s\\%s", server, - (share != NULL) ? share + 1 /* skip leading '/' */: ""); + if (asprintf(&remote_name, "\\\\%s\\%s", server, + (share != NULL) ? share + 1 /* skip leading '/' */: "") < 0) + return; /* remove trailings '/' */ char *delim = strchr(remote_name, '/'); if (delim != NULL) *delim = '\0'; - const char *msg; - net_resource.lpRemoteName = ToWide(remote_name); + NETRESOURCE net_resource = { + .dwType = RESOURCETYPE_DISK, + .lpRemoteName = ToWide(remote_name), + }; + free(remote_name); + + const char *msg; wchar_t *wpwd = pwd ? ToWide(pwd) : NULL; wchar_t *wuser = user ? ToWide(user) : NULL; switch (WNetAddConnection2(&net_resource, wpwd, wuser, 0)) { case NO_ERROR: - msg = "connected to %s"; + msg = "connected to %ls"; break; case ERROR_ALREADY_ASSIGNED: case ERROR_DEVICE_ALREADY_REMEMBERED: - msg = "already connected to %s"; + msg = "already connected to %ls"; break; default: - msg = "failed to connect to %s"; + msg = "failed to connect to %ls"; } + msg_Dbg(access, msg, net_resource.lpRemoteName); free(net_resource.lpRemoteName); free(wpwd); free(wuser); - msg_Dbg(access, msg, remote_name); } /* Build an SMB URI _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
