diff options
author | J. Alexander Treuman <jat@spatialrift.net> | 2006-07-16 18:22:03 +0000 |
---|---|---|
committer | J. Alexander Treuman <jat@spatialrift.net> | 2006-07-16 18:22:03 +0000 |
commit | 5d1df8e25c45ef5c54914a311d809088afdc15c7 (patch) | |
tree | deeb8a420e5746ee2aecb02e619fc85e3096fc6a | |
parent | 8d630f30e89646c0a6f225089cb8325af0fbf62e (diff) | |
download | mpd-5d1df8e25c45ef5c54914a311d809088afdc15c7.tar.gz mpd-5d1df8e25c45ef5c54914a311d809088afdc15c7.tar.xz mpd-5d1df8e25c45ef5c54914a311d809088afdc15c7.zip |
Fixing a whopping 4 memory leaks
git-svn-id: https://svn.musicpd.org/mpd/trunk@4371 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-rw-r--r-- | src/decode.c | 7 | ||||
-rw-r--r-- | src/ls.c | 2 | ||||
-rw-r--r-- | src/playlist.c | 4 |
3 files changed, 9 insertions, 4 deletions
diff --git a/src/decode.c b/src/decode.c index 544880f57..db780dffe 100644 --- a/src/decode.c +++ b/src/decode.c @@ -261,11 +261,16 @@ static void decodeStart(PlayerControl * pc, OutputBuffer * cb, DecoderControl * InputStream inStream; InputPlugin * plugin = NULL; char * path; + char * relativePath; if(isRemoteUrl(pc->utf8url)) { path = utf8StrToLatin1Dup(pc->utf8url); } - else path = strdup(rmp2amp(utf8ToFsCharset(pc->utf8url))); + else { + relativePath = utf8ToFsCharset(pc->utf8url); + path = strdup(rmp2amp(relativePath)); + free(relativePath); + } if(!path) { dc->error = DECODE_ERROR_FILE; @@ -111,7 +111,7 @@ int lsPlaylists(FILE * fp, char * utf8path) { char s[MAXPATHLEN+1]; List * list = NULL; ListNode * node = NULL; - char * path = strdup(utf8ToFsCharset(utf8path)); + char * path = utf8ToFsCharset(utf8path); char * actualPath = rpp2app(path); int actlen = strlen(actualPath)+1; int maxlen = MAXPATHLEN-actlen; diff --git a/src/playlist.c b/src/playlist.c index 32a191bee..cf7ff9759 100644 --- a/src/playlist.c +++ b/src/playlist.c @@ -1310,7 +1310,7 @@ int savePlaylist(FILE * fp, char * utf8file) { return -1; } - file = strdup(utf8ToFsCharset(utf8file)); + file = utf8ToFsCharset(utf8file); rfile = malloc(strlen(file)+strlen(".")+ strlen(PLAYLIST_FILE_SUFFIX)+1); @@ -1415,7 +1415,7 @@ static int PlaylistIterFunc(FILE * fp, char * utf8file, void (*IterFunc)(FILE *f FILE * fileP; char s[MAXPATHLEN+1]; int slength = 0; - char * temp = strdup(utf8ToFsCharset(utf8file)); + char * temp = utf8ToFsCharset(utf8file); char * rfile = malloc(strlen(temp)+strlen(".")+ strlen(PLAYLIST_FILE_SUFFIX)+1); char * actualFile; |