OSDN Git Service

libavformat/ftp: Do not leak memory in routine ftp_features
authorAlexander Strasser <eclipse7@gmx.net>
Tue, 19 Aug 2014 22:41:55 +0000 (00:41 +0200)
committerAlexander Strasser <eclipse7@gmx.net>
Mon, 25 Aug 2014 22:52:29 +0000 (00:52 +0200)
Setting the pointer to NULL inside both ftp_send_command
and ftp_features is redundant. Generally always setting to
NULL in ftp_send_command seems safer, but throughout the file
that parameter was always passed initialized. So I do it here
too for consistency.

Should fix CID1231988 (RESOURCE_LEAK)

OKed-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
libavformat/ftp.c

index 9ee9b16..7faf4a5 100644 (file)
@@ -183,6 +183,9 @@ static int ftp_send_command(FTPContext *s, const char *command,
 {
     int err;
 
+    if (response)
+        *response = NULL;
+
     if ((err = ffurl_write(s->conn_control, command, strlen(command))) < 0)
         return err;
     if (!err)
@@ -444,12 +447,14 @@ static int ftp_features(FTPContext *s)
     static const char *enable_utf8_command = "OPTS UTF8 ON\r\n";
     static const int feat_codes[] = {211, 0};
     static const int opts_codes[] = {200, 451};
-    char *feat;
+    char *feat = NULL;
 
     if (ftp_send_command(s, feat_command, feat_codes, &feat) == 211) {
         if (av_stristr(feat, "UTF8"))
             ftp_send_command(s, enable_utf8_command, opts_codes, NULL);
     }
+    av_freep(&feat);
+
     return 0;
 }