]> granicus.if.org Git - rtmpdump/commitdiff
Plug mem leaks
authorhyc <hyc@400ebc74-4327-4243-bc38-086b20814532>
Wed, 6 Jan 2010 09:42:45 +0000 (09:42 +0000)
committerhyc <hyc@400ebc74-4327-4243-bc38-086b20814532>
Wed, 6 Jan 2010 09:42:45 +0000 (09:42 +0000)
git-svn-id: svn://svn.mplayerhq.hu/rtmpdump/trunk@198 400ebc74-4327-4243-bc38-086b20814532

hashswf.c

index 9d4895f565c5f9c78b40435bf8c7ccdfe3aa4e17..9cf7a0b13aefc3ba3f2cc6e147d0ebe0c83408f9 100644 (file)
--- a/hashswf.c
+++ b/hashswf.c
@@ -323,7 +323,7 @@ RTMP_HashSWF(const char *url, unsigned int *size, unsigned char *hash, int ask)
     }
 
   if (got && !ask)
-    return 0;
+    goto out;
 
   in.first = 1;
   in.date = date;
@@ -359,7 +359,8 @@ RTMP_HashSWF(const char *url, unsigned int *size, unsigned char *hash, int ask)
               int err = errno;
               Log(LOGERROR, "%s: couldn't open %s for writing, errno %d (%s)",
                 __FUNCTION__, path, err, strerror(err));
-              return -1;
+              ret = -1;
+              goto out;
             }
           fseek(f, 0, SEEK_END);
           q = strchr(url, '?');
@@ -378,6 +379,8 @@ RTMP_HashSWF(const char *url, unsigned int *size, unsigned char *hash, int ask)
       fprintf(f, "\n");
     }
   HMAC_CTX_cleanup(&ctx);
+out:
+  free(path);
   if (f)
     fclose(f);
   return ret;