Commit e8207e9d authored by Ben Walker's avatar Ben Walker Committed by Darek Stojaczyk
Browse files

nvmf/tcp: Eliminate atoi use



Use spdk_strtol instead, which does better error detection.

Change-Id: I14236a0b3e42f39a65d67149dd91d791be9f55f1
Signed-off-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/c/441983


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarwuzhouhui <wuzhouhui@kingsoft.com>
Reviewed-by: default avatarDarek Stojaczyk <dariusz.stojaczyk@intel.com>
parent f56de7b8
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@
#include "spdk/crc32.h"
#include "spdk/endian.h"
#include "spdk/assert.h"
#include "spdk/string.h"
#include "spdk/thread.h"
#include "spdk/trace.h"
#include "spdk/util.h"
@@ -1640,6 +1641,7 @@ nvme_tcp_qpair_connect(struct nvme_tcp_qpair *tqpair)
	int rc;
	struct spdk_nvme_ctrlr *ctrlr;
	int family;
	long int port;

	ctrlr = tqpair->qpair.ctrlr;

@@ -1675,10 +1677,16 @@ nvme_tcp_qpair_connect(struct nvme_tcp_qpair *tqpair)
		}
	}

	tqpair->sock = spdk_sock_connect(ctrlr->trid.traddr, atoi(ctrlr->trid.trsvcid));
	port = spdk_strtol(ctrlr->trid.trsvcid, 10);
	if (port <= 0 || port >= INT_MAX) {
		SPDK_ERRLOG("Invalid port: %s\n", ctrlr->trid.trsvcid);
		return -1;
	}

	tqpair->sock = spdk_sock_connect(ctrlr->trid.traddr, port);
	if (!tqpair->sock) {
		SPDK_ERRLOG("sock connection error of tqpair=%p with addr=%s, port=%d\n",
			    tqpair, ctrlr->trid.traddr, atoi(ctrlr->trid.trsvcid));
		SPDK_ERRLOG("sock connection error of tqpair=%p with addr=%s, port=%ld\n",
			    tqpair, ctrlr->trid.traddr, port);
		return -1;
	}