crypto/des/des.c:804: error: INTEGER_OVERFLOW_L2
  ([0, 8⋅`num`] - [-230+max(230, `num`), `num` + 215]):unsigned32.
Showing all 5 steps of the trace


crypto/des/des.c:754:1: <LHS trace>
752.   
753.   /* int size:  should always be > ~ 60; I actually ignore this parameter :-)    */
754. > int uufread(unsigned char *out, int size, unsigned int num, FILE *fp)
755.   	{
756.   	int i,j,tot;

crypto/des/des.c:754:1: Parameter `num`
752.   
753.   /* int size:  should always be > ~ 60; I actually ignore this parameter :-)    */
754. > int uufread(unsigned char *out, int size, unsigned int num, FILE *fp)
755.   	{
756.   	int i,j,tot;

crypto/des/des.c:754:1: <RHS trace>
752.   
753.   /* int size:  should always be > ~ 60; I actually ignore this parameter :-)    */
754. > int uufread(unsigned char *out, int size, unsigned int num, FILE *fp)
755.   	{
756.   	int i,j,tot;

crypto/des/des.c:754:1: Parameter `num`
752.   
753.   /* int size:  should always be > ~ 60; I actually ignore this parameter :-)    */
754. > int uufread(unsigned char *out, int size, unsigned int num, FILE *fp)
755.   	{
756.   	int i,j,tot;

crypto/des/des.c:804:4: Binary operation: ([0, 8⋅num] - [-230+max(230, num), num + 215]):unsigned32
802.   			{
803.   			/* num to copy to make it a multiple of 8 */
804.   			j=(num/8*8)-tot-8;
          ^
805.   			memcpy(&(out[tot]),bb,(unsigned int)j);
806.   			tot+=j;

int uufread(unsigned char *out, int size, unsigned int num, FILE *fp)
	{
	int i,j,tot;
	static int done=0;
	static int valid=0;
	static int start=1;
	if (start)
		{
		for (;;)
			{
			b[0]='\0';
			fgets((char *)b,300,fp);
			if (b[0] == '\0')
				{
				fprintf(stderr,"no 'begin' found in uuencoded input\n");
				return(-1);
				}
			if (strncmp((char *)b,"begin ",6) == 0) break;
			}
		start=0;
		}
	if (done) return(0);
	tot=0;
	if (valid)
		{
		memcpy(out,bb,(unsigned int)valid);
		tot=valid;
		valid=0;
		}
	for (;;)
		{
		b[0]='\0';
		fgets((char *)b,300,fp);
		if (b[0] == '\0') break;
		i=strlen((char *)b);
		if ((b[0] == 'e') && (b[1] == 'n') && (b[2] == 'd'))
			{
			done=1;
			while (!feof(fp))
				{
				fgets((char *)b,300,fp);
				}
			break;
			}
		i=uudecode(b,i,bb);
		if (i < 0) break;
		if ((i+tot+8) > num)
			{
			j=(num/8*8)-tot-8;
			memcpy(&(out[tot]),bb,(unsigned int)j);
			tot+=j;
			memcpy(bb,&(bb[j]),(unsigned int)i-j);
			valid=i-j;
			break;
			}
		memcpy(&(out[tot]),bb,(unsigned int)i);
		tot+=i;
		}
	return(tot);
	}
['int uufread(unsigned char *out, int size, unsigned int num, FILE *fp)\n\t{\n\tint i,j,tot;\n\tstatic int done=0;\n\tstatic int valid=0;\n\tstatic int start=1;\n\tif (start)\n\t\t{\n\t\tfor (;;)\n\t\t\t{\n\t\t\tb[0]=\'\\0\';\n\t\t\tfgets((char *)b,300,fp);\n\t\t\tif (b[0] == \'\\0\')\n\t\t\t\t{\n\t\t\t\tfprintf(stderr,"no \'begin\' found in uuencoded input\\n");\n\t\t\t\treturn(-1);\n\t\t\t\t}\n\t\t\tif (strncmp((char *)b,"begin ",6) == 0) break;\n\t\t\t}\n\t\tstart=0;\n\t\t}\n\tif (done) return(0);\n\ttot=0;\n\tif (valid)\n\t\t{\n\t\tmemcpy(out,bb,(unsigned int)valid);\n\t\ttot=valid;\n\t\tvalid=0;\n\t\t}\n\tfor (;;)\n\t\t{\n\t\tb[0]=\'\\0\';\n\t\tfgets((char *)b,300,fp);\n\t\tif (b[0] == \'\\0\') break;\n\t\ti=strlen((char *)b);\n\t\tif ((b[0] == \'e\') && (b[1] == \'n\') && (b[2] == \'d\'))\n\t\t\t{\n\t\t\tdone=1;\n\t\t\twhile (!feof(fp))\n\t\t\t\t{\n\t\t\t\tfgets((char *)b,300,fp);\n\t\t\t\t}\n\t\t\tbreak;\n\t\t\t}\n\t\ti=uudecode(b,i,bb);\n\t\tif (i < 0) break;\n\t\tif ((i+tot+8) > num)\n\t\t\t{\n\t\t\tj=(num/8*8)-tot-8;\n\t\t\tmemcpy(&(out[tot]),bb,(unsigned int)j);\n\t\t\ttot+=j;\n\t\t\tmemcpy(bb,&(bb[j]),(unsigned int)i-j);\n\t\t\tvalid=i-j;\n\t\t\tbreak;\n\t\t\t}\n\t\tmemcpy(&(out[tot]),bb,(unsigned int)i);\n\t\ttot+=i;\n\t\t}\n\treturn(tot);\n\t}']