]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
freetdm: fix license path to use sngss7 path limits
authorMoises Silva <moy@sangoma.com>
Fri, 2 Dec 2011 16:24:34 +0000 (11:24 -0500)
committerMoises Silva <moy@sangoma.com>
Fri, 2 Dec 2011 16:37:55 +0000 (11:37 -0500)
         do not use strcpy, use ftdm_set_string which is safer
         do not use strcpy when snprintf is safer and cleaner

libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h
libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c

index 631dadf007182902a3568f76b3a94a143d211782..e39c57802fbbe74e42c14ff7be73812f6413d2ec 100644 (file)
@@ -51,7 +51,6 @@
 
 /* DEFINES ********************************************************************/
 #define MAX_NAME_LEN                   25
-#define MAX_PATH                               4096
 
 #define MAX_CIC_LENGTH                 5
 #define MAX_CIC_MAP_LENGTH             1000 
@@ -411,8 +410,8 @@ typedef struct sng_relay {
 typedef struct sng_ss7_cfg {
        uint32_t                        spc;
        uint32_t                        procId;
-       char                            license[MAX_PATH];
-       char                            signature[MAX_PATH];
+       char                            license[MAX_SNGSS7_PATH];
+       char                            signature[MAX_SNGSS7_PATH];
        uint32_t                        transparent_iam_max_size;
        uint32_t                        flags;
        sng_relay_t                     relay[MAX_RELAY_CHANNELS+1];
index 2fbd2e5631afa974dc7875cf34db2de12301d774..f1c6625b85b866348e6e8f620638562778b0a70a 100644 (file)
@@ -472,9 +472,8 @@ static int ftmod_ss7_parse_sng_gen(ftdm_conf_node_t *sng_gen)
                /**********************************************************************/
                } else if (!strcasecmp(parm->var, "license")) {
                /**********************************************************************/
-                       strcpy(g_ftdm_sngss7_data.cfg.license, parm->val);
-                       strcpy(g_ftdm_sngss7_data.cfg.signature, parm->val);
-                       strcat(g_ftdm_sngss7_data.cfg.signature, ".sig");
+                       ftdm_set_string(g_ftdm_sngss7_data.cfg.license, parm->val);
+                       snprintf(g_ftdm_sngss7_data.cfg.signature, sizeof(g_ftdm_sngss7_data.cfg.signature), "%s.sig", parm->val);
                        SS7_DEBUG("Found license file = %s\n", g_ftdm_sngss7_data.cfg.license);
                        SS7_DEBUG("Found signature file = %s\n", g_ftdm_sngss7_data.cfg.signature);     
                /**********************************************************************/