Mercurial > mplayer.hg
changeset 15743:c06986fbf819
Fix crash with e.g. -vf scale=::
author | reimar |
---|---|
date | Fri, 17 Jun 2005 08:15:08 +0000 |
parents | 55cbf0c204bc |
children | 268cb6b8484e |
files | m_option.c |
diffstat | 1 files changed, 10 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/m_option.c Fri Jun 17 08:11:56 2005 +0000 +++ b/m_option.c Fri Jun 17 08:15:08 2005 +0000 @@ -1261,8 +1261,16 @@ last_ptr = ptr+1; } if(r < 0) return r; + if (!last_ptr[0]) // count an empty field at the end, too + nold++; + if (nold > nopts) { + mp_msg(MSGT_CFGPARSER, MSGL_ERR, "Too many options for %s\n", name); + return M_OPT_OUT_OF_RANGE; + } if(!_ret) // Just test return 1; + if (n == 0) // No options or only empty options + return 1; ret = malloc((n+2)*2*sizeof(char*)); n = nold = 0; @@ -1309,6 +1317,8 @@ return r; if(!dst) return 1; + if (!opts) // no arguments given + return 1; for(r = 0 ; opts[r] ; r += 2) m_struct_set(desc,dst,opts[r],opts[r+1]);