The following program segfaults if any one of the integers:
canonical
unicode
k
done
are not declared.
---------{ yaml_error.c begins }---------
#include <yaml.h>
#include <stdio.h>
#include <string.h>
int main()
{
/* Comment out 'canonical' to demonstrate segfault
int canonical;
*/
int unicode;
int k;
int done;
yaml_parser_t parser;
yaml_parser_initialize(&parser);
yaml_parser_delete(&parser);
return 0;
}
---------{ yaml_error.c ends }---------
% gcc -Wall -ggdb -c yaml_error.c && gcc -Wall -ggdb -lyaml -o yaml_error yaml_error.o
% gdb ./yaml_error
(gdb) run
Starting program: /home/mzagrabe/code/misc/c++/yaml/yaml_error
Program received signal SIGSEGV, Segmentation fault.
0x08048514 in main () at yaml_error.c:19
19 }
(gdb)
Running Debian Sid:
ii libyaml-0-1 0.1.1-1
ii libyaml-dev 0.1.1-1
ii gcc 4:4.3.1-2