@@ -2767,12 +2767,7 @@ create_coboldata(SQLVAR *sv, int index, char *retstr){
2767
2767
2768
2768
int fillzero ;
2769
2769
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 };
2776
2771
2777
2772
// before decimal point
2778
2773
int beforedp = 0 ;
@@ -2813,7 +2808,6 @@ create_coboldata(SQLVAR *sv, int index, char *retstr){
2813
2808
}
2814
2809
2815
2810
memcpy (addr , final , sv -> length );
2816
- free (final );
2817
2811
break ;
2818
2812
}
2819
2813
case OCDB_TYPE_SIGNED_NUMBER_TC :
@@ -2824,14 +2818,9 @@ create_coboldata(SQLVAR *sv, int index, char *retstr){
2824
2818
2825
2819
int fillzero ;
2826
2820
int zcount ;
2827
- char * final ;
2828
- int finalbuflen ;
2821
+ char final [MAX_DIGITS + SIGN_LENGTH + 1 + TERMINAL_LENGTH ] = {0 };
2829
2822
int final_length ;
2830
2823
2831
- // fill zero
2832
- finalbuflen = sv -> length ;
2833
- final = (char * )calloc (finalbuflen , sizeof (char ));
2834
-
2835
2824
if (retstr [0 ] == '-' ){
2836
2825
is_negative = true;
2837
2826
value = retstr + 1 ;
@@ -2883,7 +2872,6 @@ create_coboldata(SQLVAR *sv, int index, char *retstr){
2883
2872
}
2884
2873
2885
2874
memcpy (addr , final , sv -> length );
2886
- free (final );
2887
2875
break ;
2888
2876
}
2889
2877
case OCDB_TYPE_SIGNED_NUMBER_LS :
@@ -2893,12 +2881,7 @@ create_coboldata(SQLVAR *sv, int index, char *retstr){
2893
2881
2894
2882
int fillzero ;
2895
2883
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 };
2902
2885
2903
2886
if (retstr [0 ] == '-' ){
2904
2887
final [0 ] = '-' ;
@@ -2947,7 +2930,6 @@ create_coboldata(SQLVAR *sv, int index, char *retstr){
2947
2930
}
2948
2931
2949
2932
memcpy (addr , final , sv -> length + SIGN_LENGTH );
2950
- free (final );
2951
2933
break ;
2952
2934
}
2953
2935
case OCDB_TYPE_UNSIGNED_NUMBER_PD :
0 commit comments