diff vm/vm.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 f051b111ef50
line wrap: on
line diff
--- a/vm/vm.c	Sun Apr 20 08:18:52 2008 +0000
+++ b/vm/vm.c	Sun Apr 20 08:29:02 2008 +0000
@@ -1823,13 +1823,15 @@
 
 /* Uses state to decide what to return */
 static pgcit_t* get_PGCIT(vm_t *vm) {
-  pgcit_t *pgcit;
+  pgcit_t *pgcit = NULL;
   
   switch ((vm->state).domain) {
   case VTS_DOMAIN:
+    if(!vm->vtsi) return NULL;
     pgcit = vm->vtsi->vts_pgcit;
     break;
   case VTSM_DOMAIN:
+    if(!vm->vtsi) return NULL;
     pgcit = get_MENU_PGCIT(vm, vm->vtsi, (vm->state).registers.SPRM[0]);
     break;
   case VMGM_DOMAIN: