@@ -2767,12 +2767,7 @@ create_coboldata(SQLVAR *sv, int index, char *retstr){
27672767
27682768 int fillzero ;
27692769 int zcount ;
2770- char * final ;
2771- int finalbuflen ;
2772-
2773- // fill zero
2774- finalbuflen = sv -> length + TERMINAL_LENGTH ;
2775- final = (char * )calloc (finalbuflen , sizeof (char ));
2770+ char final [MAX_DIGITS + 1 + TERMINAL_LENGTH ] = { 0 };
27762771
27772772 // before decimal point
27782773 int beforedp = 0 ;
@@ -2813,7 +2808,6 @@ create_coboldata(SQLVAR *sv, int index, char *retstr){
28132808 }
28142809
28152810 memcpy (addr , final , sv -> length );
2816- free (final );
28172811 break ;
28182812 }
28192813 case OCDB_TYPE_SIGNED_NUMBER_TC :
@@ -2824,14 +2818,9 @@ create_coboldata(SQLVAR *sv, int index, char *retstr){
28242818
28252819 int fillzero ;
28262820 int zcount ;
2827- char * final ;
2828- int finalbuflen ;
2821+ char final [MAX_DIGITS + SIGN_LENGTH + 1 + TERMINAL_LENGTH ] = {0 };
28292822 int final_length ;
28302823
2831- // fill zero
2832- finalbuflen = sv -> length ;
2833- final = (char * )calloc (finalbuflen , sizeof (char ));
2834-
28352824 if (retstr [0 ] == '-' ){
28362825 is_negative = true;
28372826 value = retstr + 1 ;
@@ -2883,7 +2872,6 @@ create_coboldata(SQLVAR *sv, int index, char *retstr){
28832872 }
28842873
28852874 memcpy (addr , final , sv -> length );
2886- free (final );
28872875 break ;
28882876 }
28892877 case OCDB_TYPE_SIGNED_NUMBER_LS :
@@ -2893,12 +2881,7 @@ create_coboldata(SQLVAR *sv, int index, char *retstr){
28932881
28942882 int fillzero ;
28952883 int zcount ;
2896- char * final ;
2897- int finalbuflen ;
2898-
2899- // fill zero
2900- finalbuflen = SIGN_LENGTH + sv -> length + TERMINAL_LENGTH ;
2901- final = (char * )calloc (finalbuflen , sizeof (char ));
2884+ char final [MAX_DIGITS + SIGN_LENGTH + 1 + TERMINAL_LENGTH ] = {0 };
29022885
29032886 if (retstr [0 ] == '-' ){
29042887 final [0 ] = '-' ;
@@ -2947,7 +2930,6 @@ create_coboldata(SQLVAR *sv, int index, char *retstr){
29472930 }
29482931
29492932 memcpy (addr , final , sv -> length + SIGN_LENGTH );
2950- free (final );
29512933 break ;
29522934 }
29532935 case OCDB_TYPE_UNSIGNED_NUMBER_PD :
0 commit comments