I have a proof for this exercise that seems correct:
Let $g:(0,\infty)\to\Bbb R$ such that $g(s+t)=g(s)+g(t)$ for all $s,t>0$. Then show that if $g$ is bounded in bounded sets then $g(x)=x g(1)$ for all $x>0$.
My proof: first note that $g(n\cdot x)=n\cdot g(x)$ for all $n\in\Bbb N$ and all $x\in(0,\infty)$. By the same reason we find that $n\, g(1/n)=g(1)$ for $n\in\Bbb N$ what imply that $n^{-1} g(1)=g(1/n)$. Then both statements together imply that $g(r)=r\, g(1)$ for $r\in\Bbb Q_{>0}$.
Hence if $(x_k)\in\Bbb Q_{>0}^{\Bbb N}$ converge to some $x>0$ we find that $\lim g(x_k)=g(1)\lim x_k=x\, g(1)$. Also note that $$ g(x+y)=g(x)+g(y)\implies g(x+y)-g(y)=g(x),\quad\forall x,y>0\tag1 $$
Now suppose that $g$ is bounded in bounded sets and that $g(s)= s\cdot g(1)+\epsilon$ for some $\epsilon\neq 0$ and some $s>0$, then from the above analysis we can find that $$ g(r(s-q))=r(s-q) g(1)+r\epsilon,\quad\forall r\in\Bbb Q_{>0},\, q\in(0,s)\cap\Bbb Q\tag2 $$ Then let $(q_k)\in\Bbb Q_{>0}^{\Bbb N}$ such that $0<s-q_k<1/k^2$ for each $k\in\Bbb N$. Then we find that $$ \lim_{k\to\infty} |g(k(s-q_k))|=\lim_{k\to\infty}\big|k(s-q_k)g(1)+k\epsilon|=\infty\tag3 $$ Now, by the definition of $(q_k)$ we find that $0<k(s-q_k)<1/k$ for each $k\in\Bbb N$, hence $g|_{(0,1]}$ is not bounded, thus $g(s)=sg(1)$ for all $s>0$, as desired.$\Box$
Two questions here:
Can someone confirm the correctness of the above proof?
Regardless if the above proof is correct or not it seems that the argument is slightly complicated so I want to know if there is an easier proof.
It's not clear to me whether what's below is more or less what the OP said; I find the exposition above a little hard to follow. Whether or not it's actually a simpler proof it certainly looks simpler...
The result is actually much simpler than I thought. Choose $c$ so that $$|g(t)|<c\quad(|t|<1).$$
It follows that for $n=1,2\dots$ we have $$|g(t)|<c/n\quad(|t|<1/n),$$because if $|t|<1/n$ then $|g(t)|=|g(nt)|/n$ and $|nt|<1$.
So $g$ is continuous at the origin. Since $g(t+\delta)=g(t)+g(\delta)$ this shows that $g$ is continuous. So $g(t)=tg(1)$, since that holds for all rational $t$.