1*b1cdbd2cSJim Jagielski--- misc/mythes-1.2.0/mythes.cxx 2010-02-27 16:52:52.000000000 +0100 2*b1cdbd2cSJim Jagielski+++ misc/build/mythes-1.2.0/mythes.cxx 2011-05-18 16:22:49.125014204 +0200 3*b1cdbd2cSJim Jagielski@@ -4,6 +4,8 @@ 4*b1cdbd2cSJim Jagielski #include <stdlib.h> 5*b1cdbd2cSJim Jagielski #include <errno.h> 6*b1cdbd2cSJim Jagielski 7*b1cdbd2cSJim Jagielski+#include <limits> 8*b1cdbd2cSJim Jagielski+ 9*b1cdbd2cSJim Jagielski #include "mythes.hxx" 10*b1cdbd2cSJim Jagielski 11*b1cdbd2cSJim Jagielski // some basic utility routines 12*b1cdbd2cSJim Jagielski@@ -204,6 +206,12 @@ 13*b1cdbd2cSJim Jagielski return 0; 14*b1cdbd2cSJim Jagielski } 15*b1cdbd2cSJim Jagielski int nmeanings = atoi(buf+np+1); 16*b1cdbd2cSJim Jagielski+ if ((nmeanings < 0) || 17*b1cdbd2cSJim Jagielski+ ((::std::numeric_limits<size_t>::max() / sizeof(mentry)) < nmeanings)) 18*b1cdbd2cSJim Jagielski+ { 19*b1cdbd2cSJim Jagielski+ free(buf); 20*b1cdbd2cSJim Jagielski+ return 0; 21*b1cdbd2cSJim Jagielski+ } 22*b1cdbd2cSJim Jagielski *pme = (mentry*) malloc( nmeanings * sizeof(mentry) ); 23*b1cdbd2cSJim Jagielski if (!(*pme)) { 24*b1cdbd2cSJim Jagielski free(buf); 25