Проанализируй функцю на СИ,  в 262 s->buf = calloc, подсказывают что есть ошибка с выделением памяти, так ли это?

static void  
worker_find_header(struct private_wrk_http *core,  struct private_client_data *s, char *buf) {

	int is_find = 0;
	
	char *saveptr = NULL;
	char *token = NULL;
	// find post
	char *body = strstr (buf,DOUBLE_CRLF);

	size_t len_crlf = 0;

	token = strtok_r(buf, CRLF, &saveptr);

	if(token) {
		
		if ( strncmp(token, "GET", 3) == 0 ) {
			// url - www/
			is_find = 4;
		}
		if ( strncmp(token, "POST", 4) == 0 ) {
			// url - www/	
			is_find = 5;
			
		}
		
	} 

	//s->keep_alive = 0;	
	s->body_len = 0;
	// erro setup
	s->method = METHOD_END;
	
	if(is_find > 0) {
		
		// post rq
		if(is_find == 5) {
			
			len_crlf = strlen(DOUBLE_CRLF);
			
			// перенос строки
			if(body != NULL && strlen(body)>=len_crlf) {
				
				// is post
				if(strlen(body) > 4) {
					body += 4;
				}
			} 
			
		}

		int i = 0;
		size_t len = 0;
		char *url_token = NULL;
		
		char all_url[HTTP_MAX_URL]={0};
	
		char file_index[] = "/index.html";
		char file_index_auth[] = "/menu.html";
		char all_size[64]={0};
		int all_size_len = 0;

		memcpy(all_url, token + is_find, HTTP_MAX_URL - is_find - 1);	

		token = strtok_r(NULL, CRLF, &saveptr);
		
		// Разделям по переводу строки
		// первая строка - это наш урл
		// если POST - ищем длинну запроса
		while (token) {
			
			char tmp_token[HTTP_MAX_URL]={0};
			
			len = strlen(token);
			
			//Sec-WebSocket-Key: 67i4szpO3EaSZ9vu5UCLLw==
			
			if (strncmp(token, "Sec-WebSocket-Key:",18) == 0) {
				// get key
                int len1 = strlen(token+19);
				// key + GUID
				int len2 = len1 + strlen(WS_GUID) + 1;
				
                s->json = calloc(len2, SIZE_CHAR);
				
                memcpy(s->json, token + 19, len1);
				
				memcpy(s->json + len1, WS_GUID, strlen(WS_GUID));
            }
			
			if(s->post_key == 0) {
				// klava.c - 1
				// pins - 2
				// ЭТА ЗАПРОСЫ БЕЗ АВТОРИЗАЦИИ - ДЫРИЩА ПИЗДА.. 
				// надо сделать то работаеn только на 127.0.0ю1
				if (strncmp(token, "Sec-PinsBrd-Key:",16) == 0) {
					
					// is button id 1 or 2
					memset(all_size,0,64);
					memcpy(all_size, token+17, 1);
				
					i = atoi(all_size);
					if(i == 1 || i == 2)  {
						s->post_key = 10;
						s->set_cookie = 9;
					} 
				}
			}
			
			// Считаемся новым клиентом, но у нас есть кука!
			if(s->post_key == 0) {

				if (strncmp(token, "Cookie:",7) == 0) {

					//  lastvisit= +11
					// is button id 1 or 2
					memset(all_size,0,64);
					memcpy(all_size, token+18, 46);
					
					// Да Мы уже раньше были авторизованы
					i = cookies_find(core->cookies_arr, core->cookies_num, all_size);
					if(i >= 1)  {
						s->post_key = 10;
						// API v1 - по куки!
						s->set_cookie = 1;
					} 

				}
			
				
			}
			
			for(i=0;i<len;i++) {
				tmp_token[i] = oct_tolower(token[i]);
			}

			// find size		
			if ( strncmp(tmp_token, "connection: keep-alive", 22) ==0 ) {
		
				// is get
				if(is_find == 4) {
					is_find = 6;
				}

			}
			
			if ( strncmp(tmp_token, "keep-alive:", 11) ==0 ) {
				memset(all_size,0,64);
				memcpy(all_size, tmp_token+12, 5);
	
			}

			if ( strncmp(tmp_token, "content-length:", 15) ==0 ) {
				// content-length + 15
				memset(all_size,0,64);
				memcpy(all_size, tmp_token+16, 14);
				
				all_size_len = atoi(all_size);
				is_find = 7;
			}
			
			token = strtok_r(NULL, CRLF, &saveptr);
		}

//--------------------------------------------------------------------
		if(is_find == 4 || is_find >= 6)  {
			// GET /path/to/url_find/ HTTP/1.1

			url_token = strtok_r(all_url, " ", &saveptr);

			if(url_token != NULL) {
				//second - is url
				
				if(strlen(url_token) >= 1) {
					
					if(strlen(url_token) <= 1) {
						len = oct_cratno(strlen(file_index));
					} else {
						len = oct_cratno(strlen(url_token));
					}

					s->url = calloc(len+1, SIZE_CHAR);
					
					if(s->url != NULL ) {
						
						if(strlen(url_token) <= 1) {
							
							if(s->set_cookie >= 1) {
								memcpy(s->url, file_index_auth, strlen(file_index_auth));
							} else {
								memcpy(s->url, file_index, strlen(file_index));
							}
							
						} else {
							
							// to lower case
							len = strlen(url_token);
							
							for(i=0;i<len;i++) {
								s->url[i] = oct_tolower(url_token[i]);
							}
							// Если пользователь авторизован !  подменяем index->menu
							if ( strncmp(s->url, "/index.html", len) == 0 ) {
								if(s->set_cookie >= 1) {
									memset(s->url,0,len);
									memcpy(s->url, file_index_auth, strlen(file_index_auth));
								}
							}
						}

						url_token = strtok_r(NULL, URL_TOKEN, &saveptr);

						if(url_token) {

							if ( strncmp(url_token, "HTTP", 4) == 0 ) {
								// is get
								if(is_find==4 || is_find == 6) {

									is_find = 8;
									
									s->body_len = strlen(s->url);
									
								}
								// to post
								if(is_find == 7) {
									
									if(strlen(s->url) >= 4) {
										is_find = 9;
									} else {
										//printf("ERROR url %s\r\n",s->url);
									}
								}
								
								url_token = strtok_r(NULL, URL_TOKEN, &saveptr);
								
								if(url_token) {

									//if ( strncmp(url_token, "1.0", 3) == 0 ) {
									//	s->keep_alive = 0;
									//}
									
								} 
								
							}
						}
						
					}
					
				} 
			} 
		}
		// to post
		if(is_find == 9) {
			
			if(all_size_len > 0) {
				
				if(all_size_len <= core->max_post) {

					len = oct_cratno(all_size_len);
					
					s->buf = calloc (len+1,SIZE_CHAR);
					
					if(s->buf != NULL) {
						
						s->body_len = all_size_len;
					
						s->body_copy = 0;
						
						is_find = 11;

						//checked is op function
						if(body != NULL) {
							
							s->body_copy = strlen(body);
							
							if(s->body_copy > 0) {
								memcpy(s->buf,body,s->body_copy);
							}

						}

					}	
					
				} 
			}
		}

//--------------------------------------------------------------------		
	}

	// get
	if(is_find == 8) {
		
			// its pins
			s->method = METHOD_GET;
			
			
	//	}
	}
	// post
	if(is_find == 11) {

		if(s->body_len > 0 && s->body_len == s->body_copy) {
			s->method = METHOD_POST_OK;
		}  else {
			s->method = METHOD_POST;
		}

	}

//end
}