Fixed a couple of crashes.

diff --git a/tools/winegcc/utils.c b/tools/winegcc/utils.c
index ef334e0..bfb61de 100644
--- a/tools/winegcc/utils.c
+++ b/tools/winegcc/utils.c
@@ -277,9 +277,12 @@
 {
     int i, status;
     strarray* arr = strarray_dup(args);
-    const char** argv = arr->base;
+    const char** argv;
     char* prog = 0;
 
+    strarray_add(arr, NULL);
+    argv = arr->base;
+
     if (prefix)
     {
         const char* p;
@@ -294,7 +297,6 @@
 	}
     }
 
-    strarray_add(arr, NULL);
     if (verbose)
     {
 	for(i = 0; argv[i]; i++) printf("%s ", argv[i]);
diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c
index d738e1e..b99871b 100644
--- a/tools/winegcc/winegcc.c
+++ b/tools/winegcc/winegcc.c
@@ -669,6 +669,7 @@
 		case 'x': case 'o': case 'D': case 'U':
 		case 'I': case 'A': case 'l': case 'u':
 		case 'b': case 'V': case 'G': case 'L':
+		case 'B':
 		    if (argv[i][2]) option_arg = &argv[i][2];
 		    else next_is_arg = 1;
 		    break;