Re: [FFmpeg-devel] [PATCH v2] libavformat/ftp: Do not leak memory in routine ftp_features

2014-08-25 Thread Alexander Strasser
On 2014-08-21 23:02 +0200, Alexander Strasser wrote:
> 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)
> 
> Signed-off-by: Alexander Strasser 
> ---
> 
> I tested with valgrind and the mem leak goes away. About the
> rest it would be good if someone could have a 2nd look.
> 
> And maybe Lukasz can comment if he finds some time because he
> maintains this code.

  Received an OK from Lukasz in private.

  Pushed.

Thanks for having a look Lukasz,
  Alexander

>  libavformat/ftp.c | 7 ++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/libavformat/ftp.c b/libavformat/ftp.c
> index 9ee9b16..7faf4a5 100644
> --- a/libavformat/ftp.c
> +++ b/libavformat/ftp.c
> @@ -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;
>  }
>  
> -- 


pgpKNfoNH7gWB.pgp
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH v2] libavformat/ftp: Do not leak memory in routine ftp_features

2014-08-21 Thread Alexander Strasser
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)

Signed-off-by: Alexander Strasser 
---

I tested with valgrind and the mem leak goes away. About the
rest it would be good if someone could have a 2nd look.

And maybe Lukasz can comment if he finds some time because he
maintains this code.

 libavformat/ftp.c | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/libavformat/ftp.c b/libavformat/ftp.c
index 9ee9b16..7faf4a5 100644
--- a/libavformat/ftp.c
+++ b/libavformat/ftp.c
@@ -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;
 }
 
-- 


pgpPp3z4D5DcF.pgp
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel