Changeset 7681a9b5d1df0cbcaa5914cc33bb40fee8276a36
- Timestamp:
- 01/05/07 17:46:13
(1 year ago)
- Author:
- Rémi Denis-Courmont <rem@videolan.org>
- git-committer:
- Rémi Denis-Courmont <rem@videolan.org> 1178034373 +0000
- git-parent:
[fd2c85f56b67d2ad436d67ada15ed0e8d4073578]
- git-author:
- Rémi Denis-Courmont <rem@videolan.org> 1178034373 +0000
- Message:
Fix some memleaks
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r23333fe |
r7681a9b |
|
| 216 | 216 | |
|---|
| 217 | 217 | VLC_EXPORT(session_descriptor_t*,sout_AnnounceSessionCreate, (vlc_object_t *obj, const char *cfgpref) ); |
|---|
| 218 | | VLC_EXPORT(int, sout_SessionSetMedia, (vlc_object_t *obj, session_descriptor_t *, char *, char *, int, char *, int) ); |
|---|
| | 218 | VLC_EXPORT(int, sout_SessionSetMedia, (vlc_object_t *obj, session_descriptor_t *, const char *, const char *, int, const char *, int) ); |
|---|
| 219 | 219 | VLC_EXPORT(void, sout_AnnounceSessionDestroy, (session_descriptor_t *) ); |
|---|
| 220 | 220 | VLC_EXPORT(announce_method_t*, sout_SAPMethod, (void) ); |
|---|
| r37b0b02 |
r7681a9b |
|
| 391 | 391 | msg_Err (p_access, "SAP announces not supported for access %s", |
|---|
| 392 | 392 | psz_access); |
|---|
| 393 | | free (fmt); |
|---|
| 394 | | free (src); |
|---|
| 395 | | free (dst); |
|---|
| 396 | 393 | goto nosap; |
|---|
| 397 | 394 | } |
|---|
| … | … | |
| 404 | 401 | p_stream->p_sys->p_session = p_session; |
|---|
| 405 | 402 | sout_MethodRelease (p_method); |
|---|
| 406 | | } |
|---|
| | 403 | |
|---|
| 407 | 404 | nosap: |
|---|
| | 405 | free (fmt); |
|---|
| | 406 | free (src); |
|---|
| | 407 | free (dst); |
|---|
| | 408 | } |
|---|
| 408 | 409 | |
|---|
| 409 | 410 | p_stream->pf_add = Add; |
|---|
| rd8a3ed8 |
r7681a9b |
|
| 194 | 194 | |
|---|
| 195 | 195 | int sout_SessionSetMedia (vlc_object_t *obj, session_descriptor_t *p_session, |
|---|
| 196 | | char *fmt, char *src, int sport, |
|---|
| 197 | | char *dst, int dport) |
|---|
| 198 | | { |
|---|
| 199 | | p_session->sdpformat = fmt; |
|---|
| | 196 | const char *fmt, const char *src, int sport, |
|---|
| | 197 | const char *dst, int dport) |
|---|
| | 198 | { |
|---|
| | 199 | if ((p_session->sdpformat = strdup (fmt)) == NULL) |
|---|
| | 200 | return VLC_ENOMEM; |
|---|
| 200 | 201 | |
|---|
| 201 | 202 | /* GRUIK. We should not convert back-and-forth from string to numbers */ |
|---|
| … | … | |
| 203 | 204 | if (vlc_getaddrinfo (obj, dst, dport, NULL, &res) == 0) |
|---|
| 204 | 205 | { |
|---|
| 205 | | if (res->ai_addrlen <= sizeof (p_session->addr)) |
|---|
| 206 | | memcpy (&p_session->addr, res->ai_addr, |
|---|
| 207 | | p_session->addrlen = res->ai_addrlen); |
|---|
| | 206 | if (res->ai_addrlen > sizeof (p_session->addr)) |
|---|
| | 207 | goto oflow; |
|---|
| | 208 | |
|---|
| | 209 | memcpy (&p_session->addr, res->ai_addr, |
|---|
| | 210 | p_session->addrlen = res->ai_addrlen); |
|---|
| 208 | 211 | vlc_freeaddrinfo (res); |
|---|
| 209 | 212 | } |
|---|
| 210 | 213 | if (vlc_getaddrinfo (obj, src, sport, NULL, &res) == 0) |
|---|
| 211 | 214 | { |
|---|
| 212 | | if (res->ai_addrlen <= sizeof (p_session->orig)) |
|---|
| 213 | | memcpy (&p_session->orig, res->ai_addr, |
|---|
| 214 | | p_session->origlen = res->ai_addrlen); |
|---|
| | 215 | if (res->ai_addrlen > sizeof (p_session->orig)) |
|---|
| | 216 | goto oflow; |
|---|
| | 217 | memcpy (&p_session->orig, res->ai_addr, |
|---|
| | 218 | p_session->origlen = res->ai_addrlen); |
|---|
| 215 | 219 | vlc_freeaddrinfo (res); |
|---|
| 216 | 220 | } |
|---|
| 217 | 221 | return 0; |
|---|
| | 222 | |
|---|
| | 223 | oflow: |
|---|
| | 224 | vlc_freeaddrinfo (res); |
|---|
| | 225 | return VLC_ENOMEM; |
|---|
| 218 | 226 | } |
|---|
| 219 | 227 | |
|---|
| … | … | |
| 232 | 240 | free (p_session->psz_sdp); |
|---|
| 233 | 241 | free (p_session->description); |
|---|
| | 242 | free (p_session->sdpformat); |
|---|
| 234 | 243 | free (p_session->url); |
|---|
| 235 | 244 | free (p_session->email); |
|---|
| rc533bc1 |
r7681a9b |
|
| 22 | 22 | * You should have received a copy of the GNU General Public License |
|---|
| 23 | 23 | * along with this program; if not, write to the Free Software |
|---|
| 24 | | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. ***************************************************************************/ |
|---|
| | 24 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. |
|---|
| | 25 | ***************************************************************************/ |
|---|
| 25 | 26 | |
|---|
| 26 | 27 | #include <vlc_sout.h> |
|---|