[MPlayer-cvslog] r36675 - trunk/mplayer.c
reimar
subversion at mplayerhq.hu
Mon Jan 20 23:08:45 CET 2014
Author: reimar
Date: Mon Jan 20 23:08:45 2014
New Revision: 36675
Log:
mplayer: Simplify initial playtree/file code.
Also avoids a theoretical NULL dereference if play_tree_iter_step
does not return an entry.
"Theoretical" since I don't know if or how this case would
be possible to trigger, so it might in fact be dead code.
Modified:
trunk/mplayer.c
Modified: trunk/mplayer.c
==============================================================================
--- trunk/mplayer.c Mon Jan 20 23:08:44 2014 (r36674)
+++ trunk/mplayer.c Mon Jan 20 23:08:45 2014 (r36675)
@@ -2814,21 +2814,19 @@ int main(int argc, char *argv[])
mpctx->playtree = m_config_parse_mp_command_line(mconfig, argc, argv);
if (mpctx->playtree == NULL) {
+ // parse error
opt_exit = 1;
- } else {
+ } else
mpctx->playtree = play_tree_cleanup(mpctx->playtree);
- if (mpctx->playtree) {
- mpctx->playtree_iter = play_tree_iter_new(mpctx->playtree, mconfig);
- if (mpctx->playtree_iter) {
- if (play_tree_iter_step(mpctx->playtree_iter, 0, 0) != PLAY_TREE_ITER_ENTRY) {
- play_tree_iter_free(mpctx->playtree_iter);
- mpctx->playtree_iter = NULL;
- }
- filename = play_tree_iter_get_file(mpctx->playtree_iter, 1);
- }
- }
+
+ mpctx->playtree_iter = mpctx->playtree ? play_tree_iter_new(mpctx->playtree, mconfig) : NULL;
+ if (mpctx->playtree_iter && play_tree_iter_step(mpctx->playtree_iter, 0, 0) != PLAY_TREE_ITER_ENTRY) {
+ play_tree_iter_free(mpctx->playtree_iter);
+ mpctx->playtree_iter = NULL;
}
+ filename = mpctx->playtree_iter ? play_tree_iter_get_file(mpctx->playtree_iter, 1) : NULL;
+
print_version("MPlayer");
#if (defined(__MINGW32__) || defined(__CYGWIN__)) && defined(CONFIG_GUI)
void *runningmplayer = FindWindow("MPlayer GUI for Windows", "MPlayer for Windows");
More information about the MPlayer-cvslog
mailing list