Print this page
new smatch

@@ -133,11 +133,11 @@
         add_tag(sym);
         base = sym->ctype.base_type;
 
         switch (sym->type) {
         case SYM_NODE:
-                if (base->type == SYM_FN)
+                if (base && base->type == SYM_FN)
                         sym->kind = 'f';
                 examine_symbol(base);
                 break;
         case SYM_STRUCT:
                 sym->kind = 's';

@@ -214,14 +214,14 @@
 {
         struct string_list *filelist = NULL;
         char *file;
 
         examine_symbol_list(sparse_initialize(argc, argv, &filelist));
-        FOR_EACH_PTR_NOTAG(filelist, file) {
+        FOR_EACH_PTR(filelist, file) {
                 sparse(file);
                 examine_symbol_list(file_scope->symbols);
-        } END_FOR_EACH_PTR_NOTAG(file);
+        } END_FOR_EACH_PTR(file);
         examine_symbol_list(global_scope->symbols);
         sort_list((struct ptr_list **)&taglist, cmp_sym);
         show_tags(taglist);
         return 0;
 }