diff --git a/transporthandler.cpp b/transporthandler.cpp
index 8795c1a..acff251 100644
--- a/transporthandler.cpp
+++ b/transporthandler.cpp
@@ -416,7 +416,6 @@
                                   ipmi_context_t context)
 {
     ipmi_ret_t rc = IPMI_CC_OK;
-    *data_len = 0;
 
     char ipaddr[INET_ADDRSTRLEN];
     char netmask[INET_ADDRSTRLEN];
@@ -425,6 +424,9 @@
     auto reqptr = reinterpret_cast<const set_lan_t*>(request);
     sdbusplus::bus::bus bus(ipmid_get_sd_bus_connection());
 
+    size_t reqLen = *data_len;
+    *data_len = 0;
+
     // channel number is the lower nibble
     int channel = reqptr->channel & CHANNEL_MASK;
     auto ethdevice = ipmi::getChannelName(channel);
@@ -499,12 +501,21 @@
 
         case LanParam::VLAN:
         {
+            if (reqLen != lanParamVLANSize)
+            {
+                return IPMI_CC_REQ_DATA_LEN_INVALID;
+            }
+
             uint16_t vlan{};
             std::memcpy(&vlan, reqptr->data, ipmi::network::VLAN_SIZE_BYTE);
             // We are not storing the enable bit
             // We assume that ipmitool always send enable
             // bit as 1.
             vlan = le16toh(vlan);
+            if (vlan == 0 || vlan > maxValidVLANIDValue)
+            {
+                return IPMI_CC_INVALID_FIELD_REQUEST;
+            }
             channelConf->vlanID = vlan;
         }
         break;
diff --git a/transporthandler.hpp b/transporthandler.hpp
index 04d4673..5896082 100644
--- a/transporthandler.hpp
+++ b/transporthandler.hpp
@@ -79,6 +79,8 @@
     IPV6_NEIGHBOR_TIMING_CONFIGURATION = 80,
 };
 
+// Data length of parameters
+constexpr size_t lanParamVLANSize = 4;
 constexpr uint8_t SET_COMPLETE = 0;
 constexpr uint8_t SET_IN_PROGRESS = 1;
 constexpr uint8_t SET_COMMIT_WRITE = 2;         // Optional
@@ -136,3 +138,4 @@
  * @param[in] channel: channel number.
  */
 void applyChanges(int channel);
+constexpr uint16_t maxValidVLANIDValue = 4095;
