#define RTFNAMEMAXLEN 32
#define RTFARGSMAXLEN 64
+#define MAX_DIGITS_IN_NUMBER 10
/**
* Structure describing rtf command
if (data_skip_mode == 0)
add_to_buffer(&bufptr,com.numarg);
i=groups[group_count].uc;
- while((--i)>0)
- fgetc(f);
+ while((--i)>0) {
+ int c=fgetc(f);
+ if (c == '\\') {
+ c = fgetc(f);
+ switch (c) {
+ case '\\': break;
+ case '\'':
+ /* skip two hex digits */
+ fgetc(f);
+ fgetc(f);
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
break;
case RTF_PARA:
/*if (para_mode > 0) {*/
while(isdigit(c=fgetc(f)) || c=='-') {
if(feof(f))
return -1;
+ if (count > MAX_DIGITS_IN_NUMBER)
+ break;
buf[count++]=(char)c;
}
ungetc(c,f);