mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-11 07:17:44 +00:00
uuid: fix off-by-one
Detected by Coverity. Although unlikely, if we are ever started with stdin closed, we could reach a situation where we open a uuid file but then fail to close it, making that file the new stdin for the rest of the process. * src/util/uuid.c (getDMISystemUUID): Allow for stdin.
This commit is contained in:
parent
d98a3d4a59
commit
0327ff0798
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2007-2011 Red Hat, Inc.
|
||||
* Copyright (C) 2007-2012 Red Hat, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
@ -236,7 +236,7 @@ getDMISystemUUID(char *uuid, int len)
|
||||
|
||||
while (paths[i]) {
|
||||
int fd = open(paths[i], O_RDONLY);
|
||||
if (fd > 0) {
|
||||
if (fd >= 0) {
|
||||
if (saferead(fd, uuid, len) == len) {
|
||||
VIR_FORCE_CLOSE(fd);
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user