[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 2/4] SDV: NullCheck rule
- To: <win-pv-devel@xxxxxxxxxxxxxxxxxxxx>
- From: Owen Smith <owen.smith@xxxxxxxxxx>
- Date: Mon, 7 Feb 2022 13:15:01 +0000
- Authentication-results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
- Cc: Owen Smith <owen.smith@xxxxxxxxxx>
- Delivery-date: Mon, 07 Feb 2022 13:15:15 +0000
- Ironport-data: A9a23:6NFfN6qpzYZlf/INKjAVKiX3qudeBmI4YhIvgKrLsJaIsI4StFCzt garIBnXPP+MYWX0Ktsgbtyw/UIOuMLdydMyHFc5qXw2Fn5E+JuZCYyVIHmrMnLJJKUvbq7GA +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw24DmW1rlV e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9 DlCncSARCpwA6qUpO8cCV5DUC5TZ7RK07CSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFIQAt3cm1jTYEfYOSpHfWaTao9Rf2V/cg+gQQa6CO JNBNFKDajzCOzBMHAZMLas1kdeBpEHzWSVGrXGa8P9fD2/7k1UqjemF3MDuUsOLQ4BNgAOUq 3zL+0z9AwoGL5qPxDyd6HWui+TT2yThV+ov+KaQr6AwxgfJnypKVUNQBQDTTeSFZlCWA+JSB hUp/XISpqlos1foQfSnRhGTryvR1vIDYOZ4H+o/4QCL76Pb5QeFG2QJJgJ8hMwaWNweHmJzi ALQ9z/9LXk26eDOFyrBnluBhW7qYUAowXk+iTjopOfvy/3qu8kNgx3GVb6P+4bl34SuSVkcL 91nxRXSZon/b+ZWjc1XHnid2lpAQ6QlqSZvt23qspqNtF8RWWJcT9XABaLnxfhBNp2FaVKKo WIJncOThMhXU83RzX3UGbtcRujyjxpgDNE7qQQ+d6TNChz3oyLzFWyuyG0WyLhV3jYsJmayP R67VfJ5755PJnq6BZKbkKrqY/nGOZPITIy/PtiNN4ImSsEoKGevoXE/DWbNjjuFuBV9zskXZ 8zBGe7yVilyNEiS5GfvLwvr+eRwnX5WKKK6bc2T8ilLJpLEOCfFEulUbATSBg37hYvdyDjoH x9kH5Pi431ivCfWOEE7KKYfcgIHK2YVH5fzp5AFf+KPOFM+SmogF+XQ0fUqfIk8x/ZZkeLB/ 3ecXE5EyQWg2S2beFvSMn0zOqnyWZtfrG4gOXB+N1ifxHV+M52k670SdsVrcOB/pvBj1/N9U 9IMZ96EXqZUUj3C9jlENcv9oYVueQ6FnwWLOyb5MjEzc4Q5H17C+8P+fxup/y4LV3Llucw7q rym9wXaXZtcGFgyUJeIMKqilgrjs2IcleR+W1rzDuNSIEi8opJ3LyHRj+MsJ51eIxv02TbHh R2dBg0VpLeRrtZtosXJn62Ns6ygD/B6QhhBB2De4Lu7aXva826kzdMSWeqEZ2mABmb9+aHkb uRJ1fDsdvYAmQ8S4YZ7Fr9qy4M45sfu+OAGnlg1Qi2TYgT5EK5kL1mHwdJL5/9EybJusAerX l6Cp4tBMrKTNcK5SFMcKWLJtAhYOS34TtUK0ckIHQ==
- Ironport-hdrordr: A9a23:Wtr/0KCPejvRMHjlHemU55DYdb4zR+YMi2TC1yhKJyC9Ffbo8f xG/c5rrSMc5wxwZJhNo7y90ey7MBbhHP1OkO4s1NWZLWrbUQKTRekIh+bfKn/baknDH4ZmpN 5dmsNFaeEYY2IUsS+D2njbL+od
- Ironport-sdr: yHHTxOcMoZ2E4zr4HZ2JL1Fp3sE2M0XUKeDJQceJgSajAi9rPzDvVa49yT4r0C4fsgq7jfZF4E mUapiACG5LvuKMCESmSGTrSA+fHcILk2CtGWG6e9lrAQ9SedkSNKIm4YwfR7dT/zqB5FKvLt6O IRW3KrIWS4n2rNGaEdzzHdXtoFBZHx5LJn3q4ciTm1OGDsO6aUB7KxSvqH6cQkx6oAT9LIv+XI zxbgpXuo7g+YGr27vFRBcAfGAObgPaalUGEuxIjkr6YAvZ0DVXL7eqUFc//2k0E0vRy2F06MAH 4NZkvzg6Dm21zxuskV8Kf/v0
- List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>
Check memory allocation succeeds.
Also check RtlUnicodeStringToAnsiString succeeds, though this failure is
unlikely when the buffer is pre-allocated.
Signed-off-by: Owen Smith <owen.smith@xxxxxxxxxx>
---
src/common/registry.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/src/common/registry.c b/src/common/registry.c
index 9f5628c..b9b56e1 100644
--- a/src/common/registry.c
+++ b/src/common/registry.c
@@ -641,8 +641,15 @@ RegistryEnumerateValues(
Ansi.MaximumLength = (USHORT)((Basic->NameLength / sizeof (WCHAR)) +
sizeof (CHAR));
Ansi.Buffer = __RegistryAllocate(Ansi.MaximumLength);
+ status = STATUS_NO_MEMORY;
+ if (Ansi.Buffer == NULL)
+ goto fail6;
+
status = RtlUnicodeStringToAnsiString(&Ansi, &Unicode, FALSE);
- ASSERT(NT_SUCCESS(status));
+ if (!NT_SUCCESS(status)) {
+ __RegistryFree(Ansi.Buffer);
+ goto fail7;
+ }
Ansi.Length = (USHORT)(strlen(Ansi.Buffer) * sizeof (CHAR));
@@ -651,7 +658,7 @@ RegistryEnumerateValues(
__RegistryFree(Ansi.Buffer);
if (!NT_SUCCESS(status))
- goto fail6;
+ goto fail8;
}
__RegistryFree(Basic);
@@ -660,6 +667,8 @@ RegistryEnumerateValues(
return STATUS_SUCCESS;
+fail8:
+fail7:
fail6:
fail5:
__RegistryFree(Basic);
--
2.33.0.windows.2
|