mirror of https://gerrit.osmocom.org/libosmocore
fix strncpy bugs in gsm/ipa.c
Change-Id: I423a24c55c9b9aa6fc8f501df94fe54c71ee2b2b
This commit is contained in:
parent
0bc3b83654
commit
ebe4ef7383
|
@ -251,23 +251,23 @@ struct msgb *ipa_ccm_make_id_resp(const struct ipaccess_unit *dev,
|
||||||
break;
|
break;
|
||||||
case IPAC_IDTAG_LOCATION1:
|
case IPAC_IDTAG_LOCATION1:
|
||||||
if (dev->location1)
|
if (dev->location1)
|
||||||
strncpy(str, dev->location1, IPA_STRING_MAX);
|
osmo_strlcpy(str, dev->location1, sizeof(str));
|
||||||
break;
|
break;
|
||||||
case IPAC_IDTAG_LOCATION2:
|
case IPAC_IDTAG_LOCATION2:
|
||||||
if (dev->location2)
|
if (dev->location2)
|
||||||
strncpy(str, dev->location2, IPA_STRING_MAX);
|
osmo_strlcpy(str, dev->location2, sizeof(str));
|
||||||
break;
|
break;
|
||||||
case IPAC_IDTAG_EQUIPVERS:
|
case IPAC_IDTAG_EQUIPVERS:
|
||||||
if (dev->equipvers)
|
if (dev->equipvers)
|
||||||
strncpy(str, dev->equipvers, IPA_STRING_MAX);
|
osmo_strlcpy(str, dev->equipvers, sizeof(str));
|
||||||
break;
|
break;
|
||||||
case IPAC_IDTAG_SWVERSION:
|
case IPAC_IDTAG_SWVERSION:
|
||||||
if (dev->swversion)
|
if (dev->swversion)
|
||||||
strncpy(str, dev->swversion, IPA_STRING_MAX);
|
osmo_strlcpy(str, dev->swversion, sizeof(str));
|
||||||
break;
|
break;
|
||||||
case IPAC_IDTAG_UNITNAME:
|
case IPAC_IDTAG_UNITNAME:
|
||||||
if (dev->unit_name) {
|
if (dev->unit_name) {
|
||||||
snprintf(str, sizeof(str), dev->unit_name, IPA_STRING_MAX);
|
snprintf(str, sizeof(str), "%s", dev->unit_name);
|
||||||
} else {
|
} else {
|
||||||
snprintf(str, sizeof(str),
|
snprintf(str, sizeof(str),
|
||||||
"%02x-%02x-%02x-%02x-%02x-%02x",
|
"%02x-%02x-%02x-%02x-%02x-%02x",
|
||||||
|
@ -278,7 +278,7 @@ struct msgb *ipa_ccm_make_id_resp(const struct ipaccess_unit *dev,
|
||||||
break;
|
break;
|
||||||
case IPAC_IDTAG_SERNR:
|
case IPAC_IDTAG_SERNR:
|
||||||
if (dev->serno)
|
if (dev->serno)
|
||||||
strncpy(str, dev->serno, IPA_STRING_MAX);
|
osmo_strlcpy(str, dev->serno, sizeof(str));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LOGP(DLINP, LOGL_NOTICE,
|
LOGP(DLINP, LOGL_NOTICE,
|
||||||
|
@ -286,7 +286,6 @@ struct msgb *ipa_ccm_make_id_resp(const struct ipaccess_unit *dev,
|
||||||
msgb_free(msg);
|
msgb_free(msg);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
str[IPA_STRING_MAX-1] = '\0';
|
|
||||||
|
|
||||||
LOGP(DLINP, LOGL_INFO, " tag %d: %s\n", ies_req[i], str);
|
LOGP(DLINP, LOGL_INFO, " tag %d: %s\n", ies_req[i], str);
|
||||||
tag = msgb_put(msg, 3 + strlen(str) + 1);
|
tag = msgb_put(msg, 3 + strlen(str) + 1);
|
||||||
|
|
Loading…
Reference in New Issue