goto error;
}
- if (This->buf.pxo->nb_subobjects > MAX_SUBOBJECTS)
- {
- FIXME("Too many subobjects %d\n", This->buf.pxo->nb_subobjects);
- hr = DXFILEERR_BADALLOC;
- goto error;
- }
-
object->pstrings = pstrings;
object->pobj = This->buf.pxo;
object->cur_enum_object = 0;
#define MAX_CHILDS 100
#define MAX_TEMPLATES 200
#define MAX_OBJECTS 500
-#define MAX_SUBOBJECTS 500
+#define MAX_SUBOBJECTS 2000
#define MAX_STRINGS_BUFFER 10000
typedef struct {
ERR("Reference to unknown object %s\n", (char*)buf->value);
return FALSE;
}
+
+ if (buf->pxo->root->nb_subobjects >= MAX_SUBOBJECTS)
+ {
+ FIXME("Too many sub-objects\n");
+ return FALSE;
+ }
+
buf->pxo->childs[buf->pxo->nb_childs] = &buf->pxo_tab[buf->pxo->root->nb_subobjects++];
buf->pxo->childs[buf->pxo->nb_childs]->ptarget = &(buf->pxo_globals[i])[j];
buf->pxo->nb_childs++;
else if (check_TOKEN(buf) == TOKEN_NAME)
{
xobject* pxo = buf->pxo;
+
+ if (buf->pxo->root->nb_subobjects >= MAX_SUBOBJECTS)
+ {
+ FIXME("Too many sub-objects\n");
+ return FALSE;
+ }
+
buf->pxo = buf->pxo->childs[buf->pxo->nb_childs] = &buf->pxo_tab[buf->pxo->root->nb_subobjects++];
TRACE("Enter optional %s\n", (char*)buf->value);