Here's the corrected code:
```
def bubble_sort(my_list):
list_length = len(my_list)
is_sorted = False
while not is_sorted:
is_sorted = True
for i in range(list_length-1):
if my_list[i] > my_list[i+1]:
my_list[i], my_list[i+1] = my_list[i+1], my_list[i]
is_sorted = False
list_length -= 1
return my_list
print(bubble_sort([5, 7, 9, 1, 4, 2]))
```
The code defines a bubble_sort function that sorts a list using the bubble sort algorithm. It takes one parameter: my_list, which is the list to be sorted. It starts by getting the length of the list and setting is_sorted to False. Then, it enters a loop that continues until is_sorted is True. In each iteration of the loop, it sets is_sorted to True and loops through all elements of the list except the last one. If an element is greater than the next element, it swaps them and sets is_sorted to False. After the inner loop finishes, it decrements list_length by 1. This process continues until no swaps are made in an iteration of the outer loop, meaning that the list is sorted. Finally, it returns the sorted list. The code calls the bubble_sort function with the list [5, 7, 9, 1, 4, 2].