Ingres bug in 4.2 BSD

Steve Harpster steve at tellab2.UUCP
Wed Feb 13 05:39:49 AEST 1985


Subject: Retrieving long relation returns bad character count
Index:	~ingres/source/libq/IIn_ret.c 4.2BSD

Description:
	Occasionally, a C program (run through equel) which is trying to
	retrieve tuples from an Ingres database returns the message
	"IIn_ret: bad pb_get-1 <# bytes read>".
Repeat-By:
	Create a relation with a character domain of length 255 (the
	maximum). Now have a C program try and retrieve a tuple from it.
Fix:
	Simple type conflicts. Casts fix the problem. The diffs are below:

*** /tmp/old_IIn_ret.c	Tue Feb 12 13:22:31 1985
--- /user2/ingres/source/libq/IIn_ret.c	Tue Feb 12 12:50:28 1985
***************
*** 46,53
          ret = &IIr_sym;
  
  	if (ret->len &= 0377)
! 		if (IIpb_get(&IIpb, temp, ret->len & 0377) != ret->len & 0377)
! 			IIsyserr("IIn_ret: bad pb_get-1 %d", ret->len & 0377);
  
  
  #	ifdef xETR1

--- 46,54 -----
          ret = &IIr_sym;
  
  	if (ret->len &= 0377)
! 		if ((length = IIpb_get(&IIpb, temp, ret->len & 0377)) != (int) (ret->len & 0377))
! 			IIsyserr("IIn_ret: bad pb_get-1, wanted %d got %d",
! 				(int) (ret->len & 0377), length);
  
  
  #	ifdef xETR1



More information about the Comp.bugs.4bsd.ucb-fixes mailing list