Enable safe reading of registry file, even if file is broken.

diff --git a/misc/registry.c b/misc/registry.c
index 8ac8fcd..789f3b9 100644
--- a/misc/registry.c
+++ b/misc/registry.c
@@ -1145,7 +1145,9 @@
                 WARN_(reg)("Got a subhierarchy without resp. key?\n");
                 return 0;
             }
-            _wine_loadsubkey(F,lpxkey,level+1,buf,buflen,optflag);
+	    if (!_wine_loadsubkey(F,lpxkey,level+1,buf,buflen,optflag))
+	       if (!_wine_read_line(F,buf,buflen))
+		  return 1;
             continue;
         }
 
@@ -1176,7 +1178,11 @@
 				}
 				/* skip the 2 , */
 				s=strchr(s,',');s++;
-				s=strchr(s,',');s++;
+				s=strchr(s,',');
+				if (!s++) {
+					WARN_(reg)("Haven't understood possible value in |%s|, skipping.\n",*buf);
+					break;
+				}
 				if (type == REG_SZ || type == REG_EXPAND_SZ) {
 					s=_wine_read_USTRING(s,(LPWSTR*)&data);
 					if (data)