summaryrefslogtreecommitdiffstats
path: root/playtree.c
diff options
context:
space:
mode:
authoralbeu <albeu@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-04-23 20:06:00 +0000
committeralbeu <albeu@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-04-23 20:06:00 +0000
commite87d472777cd7e0468185adab4e752eeef07444e (patch)
tree4463949eed2542105221f881935789e8782e84b7 /playtree.c
parent74ce925bb3d8692478922b6485905da0ac542cf4 (diff)
downloadmpv-e87d472777cd7e0468185adab4e752eeef07444e.tar.bz2
mpv-e87d472777cd7e0468185adab4e752eeef07444e.tar.xz
Portability fix with realloc
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5803 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'playtree.c')
-rw-r--r--playtree.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/playtree.c b/playtree.c
index 7662ce0439..e4f6fb2771 100644
--- a/playtree.c
+++ b/playtree.c
@@ -605,7 +605,12 @@ play_tree_iter_up_step(play_tree_iter_t* iter, int d,int with_nodes) {
iter->stack_size--;
iter->loop = iter->status_stack[iter->stack_size];
- iter->status_stack = (int*)realloc(iter->status_stack,iter->stack_size*sizeof(int));
+ if(iter->stack_size > 0)
+ iter->status_stack = (int*)realloc(iter->status_stack,iter->stack_size*sizeof(int));
+ else {
+ free(iter->status_stack);
+ iter->status_stack = NULL;
+ }
if(iter->stack_size > 0 && iter->status_stack == NULL) {
mp_msg(MSGT_PLAYTREE,MSGL_ERR,"Can't allocate %d bytes of memory\n",iter->stack_size*sizeof(char*));
return PLAY_TREE_ITER_ERROR;