13105: Dereference after null check ini_get_config_valueobj()
123 if ((mode < INI_GET_FIRST_VALUE) || 124 (mode > INI_GET_NEXT_VALUE)) { 125 TRACE_ERROR_NUMBER("Invalid argument mode:", mode); 126 return EINVAL; 127 } 128 129 /* Do we have a name ? */ 130 if (name == NULL) { 131 TRACE_ERROR_NUMBER("Name is NULL it will not be found.", EINVAL); 132 return EINVAL; 133 } 134 135 /* Empty section means look for the default one */ At conditional (1): "section == NULL" taking the true branch. CID 13105: Dereference after null check (FORWARD_NULL)Comparing "section" to null implies that "section" might be null. 136 if (section == NULL) to_find = default_section; 137 else to_find = section; 138 139 TRACE_INFO_STRING("Getting Name:", name); 140 TRACE_INFO_STRING("In Section:", section); 141 142 /* Make sure we start over if this is the first value */ At conditional (2): "mode == 0" taking the false branch. 143 if (mode == INI_GET_FIRST_VALUE) ini_config_clean_state(ini_config); 144 145 /* Are we looking in the same section ? */ Passing null variable "section" to function "is_same_section", which dereferences it. [show details] 146 if (!is_same_section(ini_config, section)) { 147 148 /* This is a different section */
Fields changed
component: SSSD => INI Parser description: 13105: Dereference after null check ini_get_config_valueobj() => 13105: Dereference after null check ini_get_config_valueobj()
{{{ 123 if ((mode < INI_GET_FIRST_VALUE) || 124 (mode > INI_GET_NEXT_VALUE)) { 125 TRACE_ERROR_NUMBER("Invalid argument mode:", mode); 126 return EINVAL; 127 } 128 129 / Do we have a name ? / 130 if (name == NULL) { 131 TRACE_ERROR_NUMBER("Name is NULL it will not be found.", EINVAL); 132 return EINVAL; 133 } 134 135 / Empty section means look for the default one / At conditional (1): "section == NULL" taking the true branch. CID 13105: Dereference after null check (FORWARD_NULL)Comparing "section" to null implies that "section" might be null. 136 if (section == NULL) to_find = default_section; 137 else to_find = section; 138 139 TRACE_INFO_STRING("Getting Name:", name); 140 TRACE_INFO_STRING("In Section:", section); 141 142 / Make sure we start over if this is the first value / At conditional (2): "mode == 0" taking the false branch. 143 if (mode == INI_GET_FIRST_VALUE) ini_config_clean_state(ini_config); 144 145 / Are we looking in the same section ? / Passing null variable "section" to function "is_same_section", which dereferences it. [show details] 146 if (!is_same_section(ini_config, section)) { 147 148 / This is a different section /
}}} patch: 0 => 1
Patch has been pushed.
resolution: => fixed status: new => closed
fixed in 89243948c4f0499e70ca5bdbad62f03fd3cfb6a4
selected: =>
Metadata Update from @dpal: - Issue set to the milestone: Tools 1.0