rem: snprintf(bar, MIN(ptr2 - ptr, sizeof(bar)), ptr); foo = url_decode(bar); snprintf(url->user, sizeof(url->user), foo); free(foo);
add: snprintf(buf, MIN(ptr2 - ptr, sizeof(buf)), "%s", ptr); url->user = url_decode(buf);
context: OpnUrl *opn_url_unserialize(char *data){	OpnUrl *url;	char *ptr, *ptr2, *foo, bar[PATH_MAX + 1];	assert(data);	if (!(url = opn_url_new()))		return NULL;	sscanf(data, "OpenNap://%u:%hu@%u:%hu",			&url->client.ip, &url->client.port,			&url->server.ip, &url->server.port);	assert((ptr = strstr(data, "user=")));	assert((ptr2 = strstr(data, "&size=")));	ptr += 5;	ptr2++;	snprintf(bar, MIN(ptr2 - ptr, sizeof(bar)), ptr);	foo = url_decode(bar);	snprintf(url->user, sizeof(url->user), foo);	free(foo);		url->size = strtoul(ptr2 + 5, NULL, 10);	assert((ptr = strstr(data, "&file=") + 6));	ptr += 6;	snprintf(bar, sizeof(bar), ptr);	foo = url_decode(bar);	snprintf(url->file, sizeof(url->file), foo);	free(foo);	return url;}