Changeset 1272:34265c9c1e94 in freeDiameter for extensions
- Timestamp:
- May 23, 2014, 11:05:38 PM (10 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/rt_ignore_dh/rt_ignore_dh.c
r1052 r1272 42 42 struct dict_object * pi_avp_do; /* cache the Proxy-Info dictionary object */ 43 43 struct dict_object * ps_avp_do; /* cache the Proxy-State dictionary object */ 44 45 static void *memdup(void *data, size_t len)46 {47 void *mem;48 if ((mem=malloc(len)) == NULL)49 return NULL;50 memcpy(mem, data, len);51 return mem;52 }53 44 54 45 static int restore_origin_host(struct msg **msg) { … … 92 83 break; 93 84 case AC_PROXY_STATE: 85 ps = chdr->avp_value->os.data; 94 86 ps_len = chdr->avp_value->os.len; 95 ps = memdup(chdr->avp_value->os.data, ps_len);96 if (!ps) {97 TRACE_ERROR("malloc failure");98 return 0;99 }100 87 break; 101 88 default: … … 109 96 new_oh_len = ps_len; 110 97 pi_avp = avp; 111 } else 112 free(ps); 98 } 113 99 break; 114 100 default: … … 152 138 CHECK_FCT(fd_msg_avp_new(ph_avp_do, 0, &ph_avp)); 153 139 memset(&val, 0, sizeof(val)); 154 val.os.data = memdup(fd_g_config->cnf_diamid, fd_g_config->cnf_diamid_len);140 val.os.data = fd_g_config->cnf_diamid; 155 141 val.os.len = fd_g_config->cnf_diamid_len; 156 142 CHECK_FCT(fd_msg_avp_setvalue(ph_avp, &val)); … … 158 144 CHECK_FCT(fd_msg_avp_new(ps_avp_do, 0, &ps_avp)); 159 145 memset(&val, 0, sizeof(val)); 160 val.os.data = memdup(ahdr->avp_value->os.data, ahdr->avp_value->os.len);146 val.os.data = ahdr->avp_value->os.data; 161 147 val.os.len = ahdr->avp_value->os.len; 162 148 CHECK_FCT(fd_msg_avp_setvalue(ps_avp, &val));
Note: See TracChangeset
for help on using the changeset viewer.