mirror of https://git.48k.eu/ogclient
live: add disk index bounds check
Add disk index bounds checks for setup() and image_create(). Prevent backtrace logging when an invalid disk index is used.master v1.3.2-16
parent
f2a2f53074
commit
6704abc620
|
@ -413,7 +413,7 @@ class OgLiveOperations:
|
||||||
|
|
||||||
def setup(self, request, ogRest):
|
def setup(self, request, ogRest):
|
||||||
table_type = request.getType()
|
table_type = request.getType()
|
||||||
disk = request.getDisk()
|
disk = int(request.getDisk())
|
||||||
cache = request.getCache()
|
cache = request.getCache()
|
||||||
cache_size = request.getCacheSize()
|
cache_size = request.getCacheSize()
|
||||||
partlist = request.getPartitionSetup()
|
partlist = request.getPartitionSetup()
|
||||||
|
@ -424,7 +424,10 @@ class OgLiveOperations:
|
||||||
umount_all()
|
umount_all()
|
||||||
umount_cache()
|
umount_cache()
|
||||||
|
|
||||||
diskname = get_disks()[int(disk)-1]
|
if disk < 0 or disk > len(get_disks()):
|
||||||
|
raise OgError(f'Invalid disk number {disk}, {len(get_disks())} disks available.')
|
||||||
|
|
||||||
|
diskname = get_disks()[disk-1]
|
||||||
cxt = fdisk.Context(f'/dev/{diskname}',
|
cxt = fdisk.Context(f'/dev/{diskname}',
|
||||||
details=True)
|
details=True)
|
||||||
|
|
||||||
|
@ -469,9 +472,9 @@ class OgLiveOperations:
|
||||||
|
|
||||||
partition = int(part["partition"])
|
partition = int(part["partition"])
|
||||||
if fs == 'cache':
|
if fs == 'cache':
|
||||||
err = mkfs('ext4', int(disk), partition, label='CACHE')
|
err = mkfs('ext4', disk, partition, label='CACHE')
|
||||||
else:
|
else:
|
||||||
err = mkfs(fs, int(disk), partition)
|
err = mkfs(fs, disk, partition)
|
||||||
|
|
||||||
if err == -1:
|
if err == -1:
|
||||||
raise OgError(f'Failed to format {part["partition"]} with filesystem {part["filesystem"]}')
|
raise OgError(f'Failed to format {part["partition"]} with filesystem {part["filesystem"]}')
|
||||||
|
@ -554,6 +557,9 @@ class OgLiveOperations:
|
||||||
if ogRest.terminated:
|
if ogRest.terminated:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
if disk < 0 or disk > len(get_disks()):
|
||||||
|
raise OgError(f'Invalid disk number {disk}, {len(get_disks())} disks available.')
|
||||||
|
|
||||||
diskname = get_disks()[disk-1]
|
diskname = get_disks()[disk-1]
|
||||||
cxt = fdisk.Context(f'/dev/{diskname}', details=True)
|
cxt = fdisk.Context(f'/dev/{diskname}', details=True)
|
||||||
pa = None
|
pa = None
|
||||||
|
|
Loading…
Reference in New Issue