diff options
| author | Tatsuya Kinoshita <tats@debian.org> | 2016-08-17 13:34:40 +0000 | 
|---|---|---|
| committer | Tatsuya Kinoshita <tats@debian.org> | 2016-08-17 14:47:44 +0000 | 
| commit | 3d4eeda9ec0cb91e23bab7dc260d4c515119eb4b (patch) | |
| tree | 83525d6638c1b9b22a280b3babe9e97c076610c9 | |
| parent | Prevent segfault when iso2022 parsing (diff) | |
| download | w3m-3d4eeda9ec0cb91e23bab7dc260d4c515119eb4b.tar.gz w3m-3d4eeda9ec0cb91e23bab7dc260d4c515119eb4b.zip  | |
Prevent segfault with incorrect form_int fid
Bug-Debian: https://github.com/tats/w3m/issues/15
Diffstat (limited to '')
| -rw-r--r-- | file.c | 5 | 
1 files changed, 3 insertions, 2 deletions
@@ -4189,7 +4189,7 @@ process_form_int(struct parsed_tag *tag, int fid)  	forms = New_N(FormList *, forms_size);  	form_stack = NewAtom_N(int, forms_size);      } -    else if (forms_size <= form_max) { +    if (forms_size <= form_max) {  	forms_size += form_max;  	forms = New_Reuse(FormList *, forms, forms_size);  	form_stack = New_Reuse(int, form_stack, forms_size); @@ -6114,7 +6114,8 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit)  	fclose(debug);  #endif      for (form_id = 1; form_id <= form_max; form_id++) -	forms[form_id]->next = forms[form_id - 1]; +	if (forms[form_id]) +	    forms[form_id]->next = forms[form_id - 1];      buf->formlist = (form_max >= 0) ? forms[form_max] : NULL;      if (n_textarea)  	addMultirowsForm(buf, buf->formitem);  | 
