* limitations under the License.
*/
+#define _GNU_SOURCE
#include <stdlib.h>
#include <string.h>
#include <errno.h>
break;
pos++;
}
- len = strlen(pos) + 1;
- value = (char *)calloc(1, len + 1);
- if (!value) {
- DA_LOGE("Fail to calloc");
+ value = strdup(pos);
+ if (value == NULL) {
+ DA_LOGE("Fail to copy pos");
goto ERR;
}
- strncpy(value, pos, len);
*out_field = field;
*out_value = value;
DA_SECURE_LOGD("field[%s], value[%s]", field, value);
char password[DA_MAX_PASSWORD_LEN] = {0, };
char host[DA_MAX_PROXY_ADDR_LEN] = {0, }; // ip:port
char *proxy_uri = get_proxy_address(); // scheme://userinfo@ip:port
+ int ret = 0;
if (proxy_uri && !strstr(proxy_uri, "0.0.0.0")) {
proxy_info = (proxy_info_t *)calloc(1, sizeof(proxy_info_t));
char *found = strrchr(proxy_uri, '@');
if (found) {
- char userinfo[DA_MAX_USER_NAME_LEN + DA_MAX_PASSWORD_LEN + 1] = {0, };
- strncpy(userinfo, proxy_uri, strlen(proxy_uri) - strlen(found));
+ size_t userinfo_len = strlen(proxy_uri) - strlen(found);
+ char *userinfo = strndup(proxy_uri, userinfo_len);
if (strstr(userinfo, SCHEME_DELIMETER))
sscanf(userinfo, "%7[^:/]://%255[^:]:%255s", scheme, user_name, password);
else
sscanf(userinfo, "%255[^:]:%255s", user_name, password);
+ free(userinfo);
+
sscanf(found + 1, "%63s", host);
if (strlen(host) == 0) {
DA_LOGE("Invalid proxy address");
if (strlen(scheme) == 0)
strncpy(scheme, DEFAULT_SCHEME, DA_MAX_SCHEME_LEN - 1);
- size_t addr_len = strlen(scheme) + strlen(host) + 4;
- proxy_info->addr = (char *)calloc(1, addr_len);
- if (!proxy_info->addr) {
- DA_LOGE("Failed to calloc");
+ ret = asprintf(&proxy_info->addr, "%s://%s", scheme, host);
+ if (ret == -1 || proxy_info->addr == NULL) {
+ DA_LOGE("Failed to set proxy_info->addr");
free(proxy_info);
free(proxy_uri);
return DA_NULL;
}
- snprintf(proxy_info->addr, addr_len - 1, "%s://%s", scheme, host);
} else {
proxy_info->addr = strdup(proxy_uri);
}
}
DA_SECURE_LOGD("option_field = [%s], option_value = [%s]",
- option_field, option_value);
+ option_field ? option_field : "",
+ option_value ? option_value : "");
if (option_field || option_value) {
option = __create_http_header_option(
if (decoded_str) {
char* file_name;
DA_SECURE_LOGD("Url decoded str = [%s]", decoded_str);
- file_name = (char*)calloc(1, strlen(decoded_str) + 1);
- strncpy(file_name, decoded_str, strlen(decoded_str));
-
+ file_name = strdup(decoded_str);
NULL_CHECK_AND_FREE(wanted_str);
curl_free(decoded_str);
decoded_str = NULL;
temp++;
DA_SECURE_LOGD("final extension name:[%s]", temp);
- *ext = (char*)calloc(1, strlen(temp) + 1);
- if (*ext != DA_NULL) {
- strncpy(*ext, temp, strlen(temp));
- } else {
+ *ext = strdup(temp);
+ if (*ext == DA_NULL) {
ret = DA_ERR_FAIL_TO_MEMALLOC ;
goto ERR ;
}
}
// DA_SECURE_LOGD("file name BEFORE removing prohibited character = %s", name_buff);
delete_prohibited_char(name_buff, strlen(name_buff));
- len_name = strlen(name_buff);
- *name = (char*) calloc(1, len_name + 1);
- if (*name)
- strncpy(*name, name_buff, len_name);
+ *name = strdup(name_buff);
}
DA_SECURE_LOGD("Extracted file name : %s, extension : %s", *name, *extension);
ERR:
bzero(&clientaddr, sizeof clientaddr);
clientaddr.sun_family = AF_UNIX;
memset(clientaddr.sun_path, 0x00, sizeof(clientaddr.sun_path));
- strncpy(clientaddr.sun_path, IPC_SOCKET, strlen(IPC_SOCKET));
+ strncpy(clientaddr.sun_path, IPC_SOCKET, sizeof(clientaddr.sun_path) - 1);
clientaddr.sun_path[strlen(IPC_SOCKET)] = '\0';
if (connect(sockfd,
(struct sockaddr*)&clientaddr, sizeof(clientaddr)) < 0) {