Loading CHANGES +9 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,15 @@ Changes between 0.9.6 and 0.9.7 [xx XXX 2000] *) In the NCONF_...-based implementations for CONF_... queries (crypto/conf/conf_lib.c), if the input LHASH is NULL, avoid using a temporary CONF structure with the data component set to NULL (which gives segmentation faults in lh_retrieve). Instead, use NULL for the CONF pointer in CONF_get_string and CONF_get_number (which may use environment variables) and directly return NULL from CONF_get_section. [Bodo Moeller] *) Fix potential buffer overrun for EBCDIC. [Ulf Moeller] Loading crypto/conf/conf_lib.c +41 −18 Original line number Diff line number Diff line Loading @@ -130,6 +130,12 @@ LHASH *CONF_load_bio(LHASH *conf, BIO *bp,long *eline) } STACK_OF(CONF_VALUE) *CONF_get_section(LHASH *conf,char *section) { if (conf == NULL) { return NULL; } else { CONF ctmp; Loading @@ -140,8 +146,15 @@ STACK_OF(CONF_VALUE) *CONF_get_section(LHASH *conf,char *section) ctmp.data = conf; return NCONF_get_section(&ctmp, section); } } char *CONF_get_string(LHASH *conf,char *group,char *name) { if (conf == NULL) { return NCONF_get_string(NULL, group, name); } else { CONF ctmp; Loading @@ -152,19 +165,29 @@ char *CONF_get_string(LHASH *conf,char *group,char *name) ctmp.data = conf; return NCONF_get_string(&ctmp, group, name); } } long CONF_get_number(LHASH *conf,char *group,char *name) { CONF ctmp; int status; long result = 0; if (conf == NULL) { status = NCONF_get_number_e(NULL, group, name, &result); } else { CONF ctmp; if (default_CONF_method == NULL) default_CONF_method = NCONF_default(); default_CONF_method->init(&ctmp); ctmp.data = conf; status = NCONF_get_number_e(&ctmp, group, name, &result); } if (status == 0) { /* This function does not believe in errors... */ Loading Loading
CHANGES +9 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,15 @@ Changes between 0.9.6 and 0.9.7 [xx XXX 2000] *) In the NCONF_...-based implementations for CONF_... queries (crypto/conf/conf_lib.c), if the input LHASH is NULL, avoid using a temporary CONF structure with the data component set to NULL (which gives segmentation faults in lh_retrieve). Instead, use NULL for the CONF pointer in CONF_get_string and CONF_get_number (which may use environment variables) and directly return NULL from CONF_get_section. [Bodo Moeller] *) Fix potential buffer overrun for EBCDIC. [Ulf Moeller] Loading
crypto/conf/conf_lib.c +41 −18 Original line number Diff line number Diff line Loading @@ -130,6 +130,12 @@ LHASH *CONF_load_bio(LHASH *conf, BIO *bp,long *eline) } STACK_OF(CONF_VALUE) *CONF_get_section(LHASH *conf,char *section) { if (conf == NULL) { return NULL; } else { CONF ctmp; Loading @@ -140,8 +146,15 @@ STACK_OF(CONF_VALUE) *CONF_get_section(LHASH *conf,char *section) ctmp.data = conf; return NCONF_get_section(&ctmp, section); } } char *CONF_get_string(LHASH *conf,char *group,char *name) { if (conf == NULL) { return NCONF_get_string(NULL, group, name); } else { CONF ctmp; Loading @@ -152,19 +165,29 @@ char *CONF_get_string(LHASH *conf,char *group,char *name) ctmp.data = conf; return NCONF_get_string(&ctmp, group, name); } } long CONF_get_number(LHASH *conf,char *group,char *name) { CONF ctmp; int status; long result = 0; if (conf == NULL) { status = NCONF_get_number_e(NULL, group, name, &result); } else { CONF ctmp; if (default_CONF_method == NULL) default_CONF_method = NCONF_default(); default_CONF_method->init(&ctmp); ctmp.data = conf; status = NCONF_get_number_e(&ctmp, group, name, &result); } if (status == 0) { /* This function does not believe in errors... */ Loading