Changeset 95332 in vbox for trunk/src/VBox/HostServices/GuestProperties
- Timestamp:
- Jun 21, 2022 7:45:27 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostServices/GuestProperties/VBoxGuestPropSvc.cpp
r95324 r95332 224 224 AssertPtrReturn(pProp, VERR_INVALID_POINTER); 225 225 int rc = getOldNotificationInternal(pszPatterns, nsTimestamp, pProp); 226 226 227 #ifdef VBOX_STRICT 227 228 /* … … 1047 1048 { 1048 1049 char szFlags[GUEST_PROP_MAX_FLAGS_LEN]; 1049 char szWasDeleted[2] = { fWasDeleted ? '1' : '0', '\0' };1050 1051 1050 rc = GuestPropWriteFlags(rProp.mFlags, szFlags); 1052 1051 if (RT_SUCCESS(rc)) … … 1054 1053 HGCMSvcSetU64(&paParms[1], rProp.mTimestamp); 1055 1054 1056 size_t const cbFlags = strlen(szFlags) + 1;1057 size_t const cbName = rProp.mName.length() + 1;1058 size_t const cbValue = rProp.mValue.length() + 1;1059 size_t const cbWasDeleted = strlen(szWasDeleted) + 1;1060 size_t const cbNeeded = cbName + cbValue + cbFlags + cbWasDeleted;1055 size_t const cbFlags = strlen(szFlags) + 1; 1056 size_t const cbName = rProp.mName.length() + 1; 1057 size_t const cbValue = rProp.mValue.length() + 1; 1058 size_t const cbWasDeleted = 2; 1059 size_t const cbNeeded = cbName + cbValue + cbFlags + cbWasDeleted; 1061 1060 HGCMSvcSetU32(&paParms[3], (uint32_t)cbNeeded); 1062 1061 if (cbNeeded <= cbBuf) … … 1069 1068 memcpy(pchBuf, szFlags, cbFlags); 1070 1069 pchBuf += cbFlags; 1071 memcpy(pchBuf, szWasDeleted, cbWasDeleted); 1070 *pchBuf++ = fWasDeleted ? '1' : '0'; 1071 *pchBuf++ = '\0'; 1072 1072 } 1073 1073 else … … 1703 1703 AssertRCReturn(rc, rc); 1704 1704 1705 /* Sysprep execution by VBoxService (host is allowed to change these). */ 1706 uint64_t nsNow = getCurrentTimestamp(); 1707 rc = setPropertyInternal("/VirtualBox/HostGuest/SysprepExec", "", GUEST_PROP_F_TRANSIENT | GUEST_PROP_F_RDONLYGUEST, nsNow); 1708 AssertRCReturn(rc, rc); 1709 rc = setPropertyInternal("/VirtualBox/HostGuest/SysprepArgs", "", GUEST_PROP_F_TRANSIENT | GUEST_PROP_F_RDONLYGUEST, nsNow); 1710 AssertRCReturn(rc, rc); 1705 uint64_t nsNow = getCurrentTimestamp(); /* Must increment this for each property to avoid asserting in getOldNotification. */ 1711 1706 1712 1707 /* Resume and reset counters. */ 1713 rc = setPropertyInternal("/VirtualBox/VMInfo/ResumeCounter", "0", GUEST_PROP_F_TRANSIENT | GUEST_PROP_F_RDONLYGUEST, nsNow);1714 AssertRCReturn(rc, rc);1715 1708 rc = setPropertyInternal("/VirtualBox/VMInfo/ResetCounter", "0", GUEST_PROP_F_TRANSIENT | GUEST_PROP_F_RDONLYGUEST, nsNow); 1716 1709 AssertRCReturn(rc, rc); 1710 rc = setPropertyInternal("/VirtualBox/VMInfo/ResumeCounter", "0", GUEST_PROP_F_TRANSIENT | GUEST_PROP_F_RDONLYGUEST, ++nsNow); 1711 AssertRCReturn(rc, rc); 1712 1713 /* Sysprep execution by VBoxService (host is allowed to change these). */ 1714 rc = setPropertyInternal("/VirtualBox/HostGuest/SysprepExec", "", GUEST_PROP_F_TRANSIENT | GUEST_PROP_F_RDONLYGUEST, ++nsNow); 1715 AssertRCReturn(rc, rc); 1716 rc = setPropertyInternal("/VirtualBox/HostGuest/SysprepArgs", "", GUEST_PROP_F_TRANSIENT | GUEST_PROP_F_RDONLYGUEST, ++nsNow); 1717 AssertRCReturn(rc, rc); 1718 1717 1719 1718 1720 /* The host notification thread and queue. */
Note:
See TracChangeset
for help on using the changeset viewer.