Sfoglia il codice sorgente

[Minor] Oops, fix crash

tags/2.6
Vsevolod Stakhov 3 anni fa
parent
commit
bdd5c1ed32
3 ha cambiato i file con 8 aggiunte e 5 eliminazioni
  1. 2
    0
      src/libserver/html.c
  2. 1
    0
      src/libserver/html.h
  3. 5
    5
      src/lua/lua_html.c

+ 2
- 0
src/libserver/html.c Vedi File

@@ -1774,6 +1774,7 @@ rspamd_html_process_img_tag (rspamd_mempool_t *pool, struct html_tag *tag,
cur = tag->params->head;
img = rspamd_mempool_alloc0 (pool, sizeof (*img));
img->tag = tag;
tag->flags |= FL_IMAGE;

while (cur) {
comp = cur->data;
@@ -3180,6 +3181,7 @@ rspamd_html_process_part_full (rspamd_mempool_t *pool,
msg_debug_html ("got valid base tag");
hc->base_url = url;
cur_tag->extra = url;
cur_tag->flags |= FL_HREF;
}
else {
msg_debug_html ("got invalid base tag!");

+ 1
- 0
src/libserver/html.h Vedi File

@@ -105,6 +105,7 @@ struct html_block {
#define FL_IGNORE (1 << 27)
#define FL_BLOCK (1 << 28)
#define FL_HREF (1 << 29)
#define FL_IMAGE (1 << 30)

struct html_tag {
gint id;

+ 5
- 5
src/lua/lua_html.c Vedi File

@@ -715,16 +715,16 @@ lua_html_tag_get_extra (lua_State *L)

if (ltag) {
if (ltag->tag->extra) {
if ((ltag->tag->flags & FL_HREF) || ltag->tag->id == Tag_BASE) {
if (ltag->tag->flags & FL_IMAGE) {
img = ltag->tag->extra;
lua_html_push_image (L, img);
}
else if (ltag->tag->flags & FL_HREF) {
/* For A that's URL */
purl = lua_newuserdata (L, sizeof (gpointer));
*purl = ltag->tag->extra;
rspamd_lua_setclass (L, "rspamd{url}", -1);
}
else if (ltag->tag->id == Tag_IMG) {
img = ltag->tag->extra;
lua_html_push_image (L, img);
}
else if (ltag->tag->flags & FL_BLOCK) {
lua_html_push_block (L, ltag->tag->extra);
}

Loading…
Annulla
Salva