bptr++;
}
keylen = aptr - up - 1; /* -1 -> '=' */
- if(keylen > sizeof(u->url_key)) {
- syslog(1, "invalid url_key");
- continue;
+ if(keylen >= sizeof(u->url_key)) {
+ syslog(1, "invalid url_key from %s", ChrPtr(WCC->Hdr->HR.browser_host));
+ return;
}
u = (urlcontent *) malloc(sizeof(urlcontent));
memcpy(u->url_key, up, keylen);
u->url_key[keylen] = '\0';
if (keylen < 0) {
- syslog(1, "invalid url_key");
+ syslog(1, "invalid url_key from %s", ChrPtr(WCC->Hdr->HR.browser_host));
free(u);
- continue;
+ return;
}
if (strncmp(u->url_key, "__", 2) != 0)
long keylen;
#ifdef DEBUG_URLSTRINGS
- syslog(9, "upload_handler() name=%s, type=%s, len=%d", name, cbtype, length);
+ syslog(9, "upload_handler() name=%s, type=%s, len="SIZE_T_FMT, name, cbtype, length);
#endif
if (WCC->Hdr->urlstrings == NULL)
WCC->Hdr->urlstrings = NewHash(1, NULL);
}
-
-
void PutBstr(const char *key, long keylen, StrBuf *Value)
{
urlcontent *u;
+ wcsession *WCC = WC;
- if(keylen > sizeof(u->url_key)) {
- syslog(1, "invalid url_key");
+ if(keylen >= sizeof(u->url_key)) {
+ syslog(1, "invalid url_key from %s", ChrPtr(WCC->Hdr->HR.browser_host));
FreeStrBuf(&Value);
return;
}
u->url_data = Value;
Put(WC->Hdr->urlstrings, u->url_key, keylen, u, free_url);
}
+void PutlBstr(const char *key, long keylen, long Value)
+{
+ StrBuf *Buf;
+
+ Buf = NewStrBufPlain(NULL, sizeof(long) * 16);
+ StrBufPrintf(Buf, "%ld", Value);
+ PutBstr(key, keylen, Buf);
+}
RegisterNamespace("BSTR:PAIR:X", 1, 2, tmplput_bstr_pair_x, NULL, CTX_BSTRPAIRS);
RegisterNamespace("BSTR:PAIR:Y", 1, 2, tmplput_bstr_pair_y, NULL, CTX_BSTRPAIRS);
- RegisterConditional(HKEY("COND:BSTR"), 1, ConditionalBstr, CTX_NONE);
+ RegisterConditional("COND:BSTR", 1, ConditionalBstr, CTX_NONE);
RegisterNamespace("BSTR", 1, 2, tmplput_bstr, NULL, CTX_NONE);
RegisterNamespace("BSTR:FORWARD", 1, 2, tmplput_bstrforward, NULL, CTX_NONE);
RegisterNamespace("URLPART", 1, 2, tmplput_url_part, NULL, CTX_NONE);