Mercurial > libdvdnav.hg
comparison navigation.c @ 344:fb2fbd4cfbf6 src
in get_PGCIT() check the validity of vm->vtsi before risking to dereference NULL;
also change dvdnav_get_current_menu() accordingly.
Patch by Erik Hovland - erik hovland org
author | nicodvb |
---|---|
date | Sun, 20 Apr 2008 08:29:02 +0000 |
parents | 68736572c62c |
children | 2e9382be8e25 |
comparison
equal
deleted
inserted
replaced
343:a8d1de20346f | 344:fb2fbd4cfbf6 |
---|---|
102 return DVDNAV_STATUS_ERR; | 102 return DVDNAV_STATUS_ERR; |
103 } | 103 } |
104 if ( (this->vm->state.domain == VTSM_DOMAIN) | 104 if ( (this->vm->state.domain == VTSM_DOMAIN) |
105 || (this->vm->state.domain == VMGM_DOMAIN) ) { | 105 || (this->vm->state.domain == VMGM_DOMAIN) ) { |
106 /* Get current Menu ID: into *part. */ | 106 /* Get current Menu ID: into *part. */ |
107 vm_get_current_menu(this->vm, part); | 107 if(! vm_get_current_menu(this->vm, part)) { |
108 pthread_mutex_unlock(&this->vm_lock); | |
109 return DVDNAV_STATUS_ERR; | |
110 } | |
108 if (*part > -1) { | 111 if (*part > -1) { |
109 *title = 0; | 112 *title = 0; |
110 pthread_mutex_unlock(&this->vm_lock); | 113 pthread_mutex_unlock(&this->vm_lock); |
111 return DVDNAV_STATUS_OK; | 114 return DVDNAV_STATUS_OK; |
112 } | 115 } |