View | Details | Raw Unified | Return to bug 1084639
Collapse All | Expand All

(-)a/modules/im/ximcp/imLcIm.c (-5 / +4 lines)
Lines 82-89 struct _XimCacheStruct { Link Here
82
    DTCharIndex     mbused;
82
    DTCharIndex     mbused;
83
    DTCharIndex     wcused;
83
    DTCharIndex     wcused;
84
    DTCharIndex     utf8used;
84
    DTCharIndex     utf8used;
85
    char            fname[1];
85
    char            fname[];
86
    /* char encoding[1] */
86
    /* char encoding[] */
87
};
87
};
88
88
89
static struct  _XimCacheStruct* _XimCache_mmap = NULL;
89
static struct  _XimCacheStruct* _XimCache_mmap = NULL;
Lines 281-287 _XimReadCachedDefaultTree( Link Here
281
    assert (m->id == XIM_CACHE_MAGIC);
281
    assert (m->id == XIM_CACHE_MAGIC);
282
    assert (m->version == XIM_CACHE_VERSION);
282
    assert (m->version == XIM_CACHE_VERSION);
283
    if (size != m->size ||
283
    if (size != m->size ||
284
	size < XOffsetOf (struct _XimCacheStruct, fname) + namelen + encodinglen) {
284
	size < sizeof (struct _XimCacheStruct) + namelen + encodinglen) {
285
	fprintf (stderr, "Ignoring broken XimCache %s [%s]\n", name, encoding);
285
	fprintf (stderr, "Ignoring broken XimCache %s [%s]\n", name, encoding);
286
        munmap (m, size);
286
        munmap (m, size);
287
        return False;
287
        return False;
Lines 442-448 _XimWriteCachedDefaultTree( Link Here
442
    int   fd;
442
    int   fd;
443
    FILE *fp;
443
    FILE *fp;
444
    struct _XimCacheStruct *m;
444
    struct _XimCacheStruct *m;
445
    int   msize = (XOffsetOf(struct _XimCacheStruct, fname)
445
    int   msize = (sizeof(struct _XimCacheStruct)
446
		   + strlen(name) + strlen(encoding) + 2
446
		   + strlen(name) + strlen(encoding) + 2
447
		   + XIM_CACHE_TREE_ALIGNMENT-1) & -XIM_CACHE_TREE_ALIGNMENT;
447
		   + XIM_CACHE_TREE_ALIGNMENT-1) & -XIM_CACHE_TREE_ALIGNMENT;
448
    DefTreeBase *b = &im->private.local.base;
448
    DefTreeBase *b = &im->private.local.base;
449
- 

Return to bug 1084639