--- imlib2-1.4.0.003/src/modules/loaders/loader_xpm.c.org 2008-06-23 14:59:33.000000000 -0400 +++ imlib2-1.4.0.003/src/modules/loaders/loader_xpm.c 2008-06-23 14:59:59.000000000 -0400 @@ -286,7 +286,7 @@ load(ImlibImage * im, ImlibProgressFunct if (line[k] != ' ') { s[0] = 0; - sscanf(&line[k], "%65535s", s); + sscanf(&line[k], "%255s", s); slen = strlen(s); k += slen; if (!strcmp(s, "c")) --- imlib2-1.4.0.003/src/modules/loaders/loader_pnm.c.org 2008-06-23 15:00:41.000000000 -0400 +++ imlib2-1.4.0.003/src/modules/loaders/loader_pnm.c 2008-06-23 15:01:35.000000000 -0400 @@ -68,7 +68,7 @@ load(ImlibImage * im, ImlibProgressFunct int i = 0; /* read numbers */ - while (c != EOF && i+1 < sizeof(buf) && !isspace(c)) + while (c != EOF && !isspace(c) && (i < 255)) { buf[i++] = c; c = fgetc(f);