Check for NULL conf in NCONF_get_number
[openssl.git] / crypto / conf / conf_lib.c
index c72511ba67eae8abe37e68d2cb1706f9b64a75a0..5f976f35c428639fdde436c0e370d3dbfb499f93 100644 (file)
@@ -292,10 +292,13 @@ int NCONF_get_number_e(const CONF *conf, const char *group, const char *name,
     if (str == NULL)
         return 0;
 
-    for (*result = 0; conf->meth->is_number(conf, *str);) {
-        *result = (*result) * 10 + conf->meth->to_int(conf, *str);
-        str++;
-    }
+    if (conf == NULL)
+        *result = strtol(str, &str, 10);
+    else
+        for (*result = 0; conf->meth->is_number(conf, *str);) {
+            *result = (*result) * 10 + conf->meth->to_int(conf, *str);
+            str++;
+        }
 
     return 1;
 }